数据结构的一个题。

作者&投稿:晁言 (若有异议请与网页底部的电邮联系)
一个关于数据结构的题~

就是c啊,平均访问时间是(n+1)/2,这个数字的时间复杂度就是O(n)

很高兴为楼主解答,如果满意,希望你采纳

L->listlen的位置一般不能说空,只能说在你没有插入数据之前此位置的值没什么意义,顺序表一般都要足够大,也就是浪费空间的办法,但实际上你要用到数组的元素个数不多,也就listlen(满足于你的需要),listlen可以说是不空的,为顺序表预留了足够大的空间,就是你的顺序表长度为listlen,它后面还有的,listlen本身和后面预留的空间的值没什么意义的,关键是预留空间,简单的说你插入一个数据,它可以扩展空间,有意义的是下标从0到listlen-1,因为数组的存储是从0开始的。

for循环里为什么不是j=listlen?那是因为你插入一个数据,那么你得把顺序表的最后一个元素开始逐一向后移,最后一个元素的下标是listlen-1, j=L→listlen-1,那么这条语句在刚开始循环时

L→data[listlen]=L→data[listlen-1];也就最后一个元素向后移动,后面的元素也就是顺序表预留的空间,插入后顺序表的长度加1,所以最后要L→listlen++;

分析:
用你上面图中的十个格子举例子,编号1-10,要删除第3,4个元素。此时,i = 2(从0开始算,第三个元素就是i = 2), k = 2(要删除2个元素)
这里for循环循环了三次,循环第一次,将第3个元素的值替换为第5个元素的值,循环第二次就是将第4个元素的值替换为第6个元素的值。循环第三次,将第5个元素的值替换为第7个元素的值。
for循环后面一条语句的意思是a列表的长度减2。
结论:
这个逻辑是有问题的,的确是有你所说的空隙存在。正确的写法应该是for(j = 0; j < a.length -i - k; j++)这个for循环才是把后面的元素全部往前覆盖2个元素的位置。

中间不会有缝隙,因为a.elem[j+i]是一位一位的移动,不会出现间歇.但是表的长度会减少,末端出现空档.

要是题目就这个的话,我感觉这个程序写的确是有问题的。

数据结构试题
答:3、以下数据结构中哪一个是非线性结构?( )A. 队列 B. 栈 C. 线性表 D. 二叉树 参考答案是:D 4、设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制...

数据结构的一个题。
答:用你上面图中的十个格子举例子,编号1-10,要删除第3,4个元素。此时,i = 2(从0开始算,第三个元素就是i = 2), k = 2(要删除2个元素)这里for循环循环了三次,循环第一次,将第3个元素的值替换为第5个元素的值,循环第二次就是将第4个元素的值替换为第6个元素的值。循环第三次,...

关于数据结构的一道题,请问以下题目中B和D选项有什么不同吗?我怎么觉得...
答:这个很简单,画个图看看就简单,数据结构对于是比较抽象的,需要画图加以形象。熟练后不用画图都行,因为脑子已经有图像了 看图应该懂了吧

数据结构的问题~
答:1 数据的逻辑结构有哪几种?常用的存储有哪几种? 2 举一个数据结构的例子,叙述其逻辑结构、存储结构和运算三方面的内容。 3 什么叫算法?它有哪些特性 4 有下列几种用二元组表示的数据结构,画出它们分别对应的逻辑结构图,并指出它们分别以属于何种结构。 (1)A=(K,R),其中 K={a,b,c,d,e,f,g,h} R...

关于数据结构的题
答:关于数据结构的题 、单项选择题 ( C )1. 数据结构中,与所使用的计算机无关的是数据的 结构;A) 存储 B) 物理 C) 逻辑 D) 物理和存储 ( C )2. 算法分析的目的是:A) 找出数据结构的合理性 B) 研究算法中的输入和输出的关系 C) 分析算法的效率以求改进 ...

一个关于数据结构的问题,有关哈夫曼编码的,解答看不懂,求解答,谢谢...
答:第1点,编码长度不超过4,每一个“/”边表示为0 ,“\”边表示为1,如上图A的编码是:0000,B是0001,如果深度超过5,有六层的话,最下面的叶子结点编码有5位,所以编码长度不超过4,说明哈夫曼树深度不超过5 第2点,编码1 和 01 是在深度为2、3层,如上面的图Y。第3点,其他字符有可能...

关于数据结构的题
答:( × )1. 链表的每个结点中都恰好包含一个指针。答:错误。链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。( × )2. 链表的物理存储结构具有同链表一样的顺序。错,链表的存储结构特点是无序,而...

找套数据结构的题以及答案
答:二、 填空题 1.数据结构一般包括以下三个方面的内容:( 逻辑结构 )、( 存储结构 )、( 运算集合 )。2.数据的逻辑结构被分为( 集合 )、 ( 线性 )、 ( 树形 )和( 图形 )四种。3.假设有二维数组A8×6,每个元素用相邻的4个字节存储,存储器按字节编址。已知A的起始存储位置(基...

数据结构题目求答案
答:6、二叉树的第i层最多有 2^(i-1) 个结点,深度为k的二叉树最多有 2^k-1 个结点。7、利用MST性质来构造最小生成树的两种常用算法为___PRIM___和___KRUSKAL___。8、常见的四类基本数据结构有:__栈___、___队列___、___树___、___链表___。(不确定,数据结构太多,...

数据结构题:树中所有结点的度等于所有结点数加() A.0 B.1 C.-1 D...
答:选择答案C,因为树中结点的度的数值等于该该结点所有的子树的棵数,然而在一棵树的结点中,一定只有书的根节点不能够作为孩子结点,所以说我们可以得出结点的度和结点数的差为1。所以得出树中所有结点的度等于所有结点数加负一。树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的...