在顺序存储结构的线性表中插入一个元素,平均需要移动( )个元素

生如夏花0092022-10-04 11:39:541条回答

在顺序存储结构的线性表中插入一个元素,平均需要移动( )个元素
我算出来是 (n+1)/2可是答案是 n/2为什么是n/2

已提交,审核后显示!提交回复

共1条回复
换个ID泡ty 共回答了19个问题 | 采纳率84.2%
0,1,2,3,4,5,6,...n-1,n
每一个的可能是1/(n+1)
(n+0)(n+1)/2/(n+1)=n/2
1年前

相关推荐

采用顺序存储结构,编写算法求串S1和串S2的一个最大公共子串
nickol_xu1年前1
qwepoi0618 共回答了19个问题 | 采纳率100%
采用顺序存储结构,编写算法求串S1和串S2的一个最大公共子串
爱有很多种, 而人的一生中或许会经历四种爱
A、循环链表是循环队列的链式存储结构B、栈与队列都只能顺序存储C、循环队列是队列的顺序存储结构
A、循环链表是循环队列的链式存储结构B、栈与队列都只能顺序存储C、循环队列是队列的顺序存储结构
1、下列叙述中正确的是
A、循环链表是循环队列的链式存储结构
B、栈与队列都只能顺序存储
C、循环队列是队列的顺序存储结构
烟灰和床1年前1
zhyi8860 共回答了16个问题 | 采纳率93.8%
C是对的,循环队列是用取余数的方法使得顺序存储空间首尾循环
课件上的一句话:二分法查找是一种只适合于顺序存储结构但效率较高的非线性查找.非线性查找怎么理解?
Anggg1年前1
朽逢春木 共回答了16个问题 | 采纳率100%
就是时间复杂度不是0(n)的查找
二分查找是log(n)
数据结构练习题!求答案!一.选择题: 1. 若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前
数据结构练习题!求答案!
一.选择题:
1. 若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动_______个数据元素。( d )
a.n-i b.n+i c.n-i-1 d.n-i+1
2. 在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行________。( c)
q->next=p; s->next=p
s->next=p; q->next=s;
p->next=s; s->next=q;
s->next=q; q->next=p;
3. 某堆栈的输入序列为a,b,c,d,下面的四个序列中,__________不可能是它的输出序列。( a )
a.a,c,b,d b.b,c,d,a c.d,c,a,b d.c,d,b,a
4. 在一棵树中,_______没有前驱结点。( b )
a. 分支结点 b. 叶结点 c. 树根结点 d. 空结点
5. 一棵深度为8(根的层次号为1)的满二叉树共有______个结点。( )
a. 256 b. 255 c. 128 d. 127
6. 下面二叉树的中序遍历序列为________。( )
a. dbeafc
b. debfca
c. bdeacf
d. abcdef
7. 连通图g有n个顶点,图的生成树有______条边。( )
a. n b. n-1 c. n(n-1)/2 d. (n+1)/2
8. 在有向图中每个顶点的度等于该顶点的________。( )
a. 入度 b. 出度 c. 入度与出度之和 d. 入度与出度之差
9. 设有向图有n个顶点和e条边,采用邻接表作为其存储表示,在进行拓扑排序时,总的计算时间为________。( )
a.o(nlog2e) b.o(n+e)c.o(ne) d.o(n2)
10. 一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为_______。( )
a.{38,46,79,56,40,84} b.{38,79,56,46,40,84}
c.{40,38,46,56,79,84} d.{38,46,56,79,40,84}

二.填空题:
1. 已知具有n个元素的一维数组采用顺序存储结构,每个元素占k个存储单元,第一个元素的地址为loc(a1),那么,loc(ai)=__________。
2. 若一棵二叉树有10个叶结点,则该二叉树中度为2的结的点个数为_________。
3. 具有n个结点的非空二叉排序树的最小深度为__________。
4. 广义表((a,b,c,d))的表尾是_________。
5. 一个不带***的无向图采用邻接矩阵存储方法,其邻接是一个_____矩阵。
6. 二维数组是一种非线性结构,其中的每一个数组元素最多有_________个直接前驱(或直接后继)。
7. 链表对于数据元素的插入和删除不需移动结点,只需改变相关结点的________域的值。
8. 在一个链式栈中,若栈顶指针等于null则为________。
9. 由树转化成二叉树,其根的右孩子指针_________。
10. 设带权有向图g的邻接矩阵为a,若图中不存在弧,则a[i,j]的值为___________。
三.判断题:
数组是一种没有插入与删除操作的线性结构。( )
稀疏矩阵中值为0的元素分布有规律,因此可以采用三元组方法进行压缩存储。( )
空串与由空格组成的串没有区别。( )
完全二叉树就是满二叉树。( )
有向图是一种非线性结构。( )
带权连通图的最小生成树的权值之和一定小于它的其它生成树的权值之和。( )
aoe 网是一种带权的无环连通图。( )
一个广义表的表尾总是一个广义表。( )
存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。( )
对于有n个对象的待排序序列进行归并排序,所需平均时间为o(nlog2n)。( )
最好发到我的邮箱!331872411@qq.com
yu_chuan_jie_1年前1
棠棠123 共回答了17个问题 | 采纳率94.1%
一.选择题:
1. A 这个题目你是不是写的不完整啊
要是:删除它的第i数据元素 ,需要移动?个的话 你的答案错了。例如:删除第一个,移动N-1个;删除第二个,移动N-2个 ----以此类推 删除第n-1个移动1个 删除第n个移动0 个
要是:删除它的第i数据元素之前的元素,同理 就会选D
2. B 你的答案错了,这个题的答案是 B ,注意:题目是 q是p的前驱
3. C 你的答案错了这个题的答案是C, C.d,c,a,b 栈是先进后出 d一个出 说明c ,b,a都还在栈中 而出的序列 只能是c ,b,a
4.C 你的答案错了,这个题的答案是 C 只有根结点没有直接前驱
5. C 给你一个公式: 一棵深度为H(根的层次号为1)的满二叉树共有_2^H-1_____个结点.推到过程:第i层结点数目为:2^(i-1) i取值 从1到树深h,所以,每层的结点数目相加 就是树的总节点数 ,利用等比公式 得到上面给你的公式。
6. 这个没有图啊:
下面二叉树的中序遍历序列为________。( )
A. DBEAFC
B. DEBFCA
C. BDEACF
D. ABCDEF
7. C 因为题目说是联通同 因此是无向图 所以C
8. C
9. B 拓扑排序就是对边和顶点操作 所以与边和顶点的个数相关
10. B
二.填空题:
1.LOC(ai)=__LOC(a1)+(i-1)*k________。
2. 9 (n0=n2+1)
3. log2(n+1)
4. (a,b,c,d)
5. 对称
6. 2
7. 指针
8. 栈空
9. 变成兄弟结点
10.0
三.判断题:
数组是一种没有插入与删除操作的线性结构。(错 )
稀 疏矩阵中值为0的元素分布有规律,因此可以采用三元组方法进行压缩存储。(错 )
空串与由空格组成的串没有区别。( 错 )
完全二叉树就是满二叉树。( 错)
有向图是一种非线性结构。(对 )
带权连通图的最小生成树的权值之和一定小于它的其它生成树的权值之和。( 对 )
AOE 网是一种带权的无环连通图。( 对 )
一个广义表的表尾总是一个广义表。( 错 )
存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。( 对 )
对于有n个对象的待排序序列进行归并排序,所需平均时间为O(nlog2n)。( 对 )
已发送 查收吧
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈 tws 的三个操作:初始化inistack(tws)、入栈Push(tws,I,x) 和出栈 pop(tws,i)的算法,其中 i 为 0或 1,用以分别指示设在数组两端的两个栈。
san6800521年前1
风孤独 共回答了12个问题 | 采纳率83.3%
实现下列3个函数:
Status InitStack(TwoWayStack &tws, int size);
Status Push(TwoWayStack &tws, int i, SElemType x);
Status Pop(TwoWayStack &tws, int i, SElemType &x);
双向栈类型定义如下:
typedef struct {
SElemType *elem;
int top[2];
int size; // 分配给elem的总容量
}TwoWayStack; // 双端栈


Status InitStack(TwoWayStack &tws, int size)
{ tws.elem=(SElemType*)malloc(sizeof(SElemType)*size);
tws.size=size;
tws.top[0]=0; //hao
tws.top[1]=size-1;
return OK;
}
Status Push(TwoWayStack &tws, int i, SElemType x)
{int w=tws.top[0];
if(w==tws.top[1]) return ERROR;
else if(i==0)
{
tws.elem[tws.top[0]]=x;
tws.top[0]=tws.top[0]+1;
}
else if(i==1)
{
tws.elem[tws.top[1]]=x;
tws.top[1]=tws.top[1]-1;
}
return OK;

}
Status Pop(TwoWayStack &tws, int i, SElemType &x)
{ if(tws.top[1]==tws.size-1&&i==1) return ERROR;
else if(tws.top[0]==0&&i==0) return ERROR;
else if(i==0)
{
tws.top[0]-=1;
x=tws.elem[tws.top[0]];
}
else if(i==1)
{
tws.top[1]+=1;
x=tws.elem[tws.top[1]];
}
return x;
}
线性表的顺序存储结构和线性表的链式存储结构分别是
线性表的顺序存储结构和线性表的链式存储结构分别是
A) 顺序存取的存储结构、顺序存取的存储结构
B) 随机存取的存储结构、顺序存取的存储结构
C) 随机存取的存储结构、随机存取的存储结构
D) 任意存取的存储结构、任意存取的存储结构
答案选什么,为什么选那个,
setu11年前1
外来仙 共回答了14个问题 | 采纳率78.6%
B,
顺序存储结构的地址在内存中是连续的所以可以通过计算地址实现随机存取,而链式存储结构的存储地址不一定连续,只能通过第个结点的指针顺序存取;
数据结构计算题目1.设完全二叉树的顺序存储结构中存储数据ABCDE,要求给出该二叉树的链式存储结构并给出该二叉树的前序、
数据结构计算题目
1.设完全二叉树的顺序存储结构中存储数据ABCDE,要求给出该二叉树的链式存储结构并给出该二叉树的前序、中序和后序遍历序列。
2.设给定一个权值集合W=(3,5,7,9,11),要求根据给定的权值集合构造一棵哈夫曼树并计算哈夫曼树的带权路径长度WPL。
3.设一组初始记录关键字序列为(19,21,16,5,18,23),要求给出以19为基准的一趟快速排序结果以及第2趟直接选择排序后的结果。
4.设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉排序树并给出构造过程。
aiot1年前1
人妖女足1 共回答了27个问题 | 采纳率92.6%
1.前序:A B D E C
中序:D B E A C
后序:D E B C A
2.(3+5)*3+(7+9+11)*2=82
3.快速排序:18 5 16 19 21 23
直接选择:5 16 18 19 21 23
4. 45
40 80
22 4...
数据结构试题一、单项选择题(10)1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度
数据结构试题
一、单项选择题(10)
1、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( ).(1≤i≤n+1)
A.O(0) B.O(1) C.O(n) D.O(n2)
2、 若在线性表中采用折半查找法查找元素,该线性表应该( ).
A.元素按值有序
B.采用顺序存储结构“
C.元素按值有序,且采用顺序存储结构
D.元素按值有序,且采用链式存储结构
3、 已知一算术表达式的中缀形式为A+B *C-D/E,后缀形式为ABC *+DE/-,其前缀形式为( ).
A.–A+B*C/DE B.–A+B*CD/E C.-+*ABC/DE D.-+A*BC/DE
4、下述图的遍历算法中正确的说法是:
A. BFS只适应于无向图 B.BFS只适应于有向图
C.可能需要多次调用BFS算法或DFS算法,方可遍历一个无向图
D.只需一次调用BFS算法或DFS算法,即可遍历一个无向图
5、 利用逐点插入法建立序列(50,72,43,85,75,20,35,45,65,30)对应的二叉排序树以后,查找元素35要进行( )元素间的比较.
A.4次 B.5次 C.7次 D.10次
6、对二叉排序树进行( )遍历,可以得到该二叉树所有结点构成的排序序列.
A.前序 B.中序 C.后序 D.按层次
7、 具有n个顶点的有向图最多有( )条边.
A.n B.n(n—1) C n(n+1) D.n2
8、算法的时间复杂度取决于
A.B .待处理数据的初态
C.待处理数据的初态 D.both a and b
9、设输入序列为A、B、C、D,借助一个栈得到的输出序列不可能是:
A.D、C、A、B B.D、C、B、A
C.B、C、D、A D.C、B、D、A
10、.假定有k个关键字互为同义词,若用线性探测法把这k个关键字存入散列表中,至少要进行多少次探测?
A .k-1 B .k
C .k=1 D.k(k+1)/2
yqx983511年前2
子路的爸爸 共回答了22个问题 | 采纳率90.9%
1.C
2.C
3.D
4.C
5.A
6.D
7.B
8.D
9.B
10.D
不保证全对,不过题目还是要你自己做比较好吧!
数据结构若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )。(1≤i ≤n+1)
数据结构
若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )。(1≤i ≤n+1)
A. O(0) B. O(1) C. O(n) D.O(n2)
weileier1年前1
缺憾之美 共回答了18个问题 | 采纳率94.4%
C
1 简述数据结构的4种逻辑结构和4种物理结构的特点,并举例说明.2.简述顺序存储结构和链式存储结构的优
1 简述数据结构的4种逻辑结构和4种物理结构的特点,并举例说明.2.简述顺序存储结构和链式存储结构的优
1.x05简述数据结构的4种逻辑结构和4种物理结构的特点,并举例说明.
2.x05简述顺序存储结构和链式存储结构的优缺点.
星月咖啡1年前3
bsff 共回答了15个问题 | 采纳率100%
4种逻辑结构及特点:
① 集合 集合中任何两个数据元素之间都没有逻辑关系,组织形式松散.② 线性结构 线性结构中的 结点按逻辑关系依次排列形成一个“锁链”.③ 树形结构 树形结构具有分支、层次特性,其形态有点象自然界中的树.④ 图状结构 图状结构中的结点按逻辑关系互相缠绕,任何两个结点都可以邻接
数据结构的物理结构是指逻辑结构的存储镜像(image).
循环队列是顺序存储结构还是逻辑结构?怎么区分这两种结构
ROSS4U1年前1
wendy1020 共回答了15个问题 | 采纳率93.3%
逻辑结构是指逻辑上这些元素的关系,不是物理位置上的关系.其实,你知道了链式存储结构与顺序存储的区别也就理解了.链式存储就是逻辑结构的很直观地体现!
顺序存储就是在存储器内存储的方式即是顺序的,也就是在存储器中是一个元素紧挨着下一个,元素的地址是连续的一批存储单元.
已知长度为n的线性表A采用顺序存储结构,写一时间效率有效的算法,删除数据元素[x,y]之间的所有元素.
已知长度为n的线性表A采用顺序存储结构,写一时间效率有效的算法,删除数据元素[x,y]之间的所有元素.
时间效率较高是什么意思呢?能否帮忙解释下,谢谢
算法具体是怎么写呢
lu-one1年前3
lifeforever_0375 共回答了19个问题 | 采纳率68.4%
若每个节点的值在[x,y]之间就删除,顺序表无序:
bool delete_x_to_y(Seqlist &L,DataType x,DataType y){
if(L.n==0||x>=y)return false;//空表或x>y的返回false
int i,j;
for(i=L.n-1;i>=0;i--)
if(L.data[i]>=x&&L.data[i]
循环队列是队列的一种顺序存储结构吗
songchang19811年前1
娃哈哈n344 共回答了21个问题 | 采纳率81%
是的····顺序存储就是指用一组连续的存储单元依次存储,链式存储内存中地址不是挨着的,循环队列增设了两个指针头指针和尾指针,实现空间的最大利用
下列叙述中正确的是( ).A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是
下列叙述中正确的是( ).A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是
下列叙述中正确的是( ).
A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C.顺序存储结构能存储有序表,链式存储结构不能存储有序表
D.链式存储结构比顺序存储结构节省存储空间
reniel1年前1
luoyi_cd 共回答了15个问题 | 采纳率100%
从定义就可以知道了,一组地址采用连续的存储单元来依次存储线性表的各个数据元素称之为线性表的顺序存储结构,顺序存储结构就是把一堆数据按照给定的地址连续存放.而链表是内存中随机存贮,只有数组这种静态的内存分配方式才是连续存贮的.
C语言版数据结构问题。求解释若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C
C语言版数据结构问题。求解释
若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( C )(1<=i<=n+1)。
A. O(0) B. O(1) C. O(n) D. O(n2)
我觉得应该是A啊. 可以直接插入的啊。顺序储存啊。
q1010y10101年前1
kelvinzhao 共回答了13个问题 | 采纳率100%
这是顺序表,不是链表
如果你要在第i个位置上插入新元素,那么原来线性表的第i个位置和以后的位置是不是要发生移动,所以这个复杂度体现在这
数据结构问题?怎么判断?以下说法错误的是( )。A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储
数据结构问题?怎么判断?
以下说法错误的是( )。
A.求表长、定位这两种运算在采用顺序存储结构时实现的效率不比采用链式存储结构时实现的效率低
B.顺序存储的线性表可以随机存取
C.由于顺序存储要求连续的存储区域,所以在存储管理上不够灵活
D.线性表的链式存储结构优于顺序存储结构
魔窟1年前1
郭小飞 共回答了17个问题 | 采纳率88.2%
设有一个线性表采用顺序存储结构,表中的数据元素值为正整数(n个).设在O(n) 时间内,将线性表分成两为两部分,其中左半
设有一个线性表采用顺序存储结构,表中的数据元素值为正整数(n个).设在O(n) 时间内,将线性表分成两为两部分,其中左半部分每个元素都小于原表的第一个元素,而右半部分则相反.
lzg06101年前1
斯度 共回答了16个问题 | 采纳率75%
不知道你是否学过快速排序算法,在算法中有划分算法,实现的就是你说的这个操作.
思想是:以第一个元素为轴,开始时设置2个指针(一个在最左端【不包括第一个元素】,一个在最右端)若两个指针没有重合,从右向左扫描每个元素,若遇到比轴小的元素则记录位置并停止向左扫描,开始从左向右扫描每个元素,若遇到比轴大的元素,则记录位置并停止扫描,将两个位置的记录交换,然后再从右向左扫描,重复上述过程,直到两个指针重合.
已知长度为n的线性表A采用顺序存储结构,请写一算法,找出该线性表中值最小的元素
uu遍rr女1年前1
蜜蜂403 共回答了19个问题 | 采纳率84.2%
min = -1;
for(i=0; i A[i])
min = A[i];
最小值为min
设有一个线性表La,请用算法分别完成顺序存储结构和链式存储结构下线性表La的逆序。
2sbnl1年前1
llda2006 共回答了15个问题 | 采纳率93.3%
#include
#define MAXSIZE 50
using namespace std;typedef struct node //链式结构线性表结点
{
int data;
struct node *next;
}SLink;typedef struct list //顺序结构线性表结点
{
int length;
int data[MAXSIZE];
}List;void LinkList() //链式
{
//初始化链表
SLink *La=(SLink *)malloc(sizeof(SLink));
SLink *n1=(SLink *)malloc(sizeof(SLink));
SLink *n2=(SLink *)malloc(sizeof(SLink));
SLink *n3=(SLink *)malloc(sizeof(SLink));
SLink *n4=(SLink *)malloc(sizeof(SLink));
SLink *n5=(SLink *)malloc(sizeof(SLink));
La->next=n1;//La为头指针
n1->data=1;
n1->next=n2;
n2->data=2;
n2->next=n3;
n3->data=3;
n3->next=n4;
n4->data=4;
n4->next=n5;
n5->data=5;
n5->next=NULL;
//输出链表的值
coutnext;
La->next=q;
}
//输出逆序后链表
cout
数据结构习题!一、选择题1.从物理结构上可以把数据结构分为( )两大类。A.动态结构、静态结构 B.顺序存储结构、链式存
数据结构习题!
一、选择题
1.从物理结构上可以把数据结构分为( )两大类。
A.动态结构、静态结构 B.顺序存储结构、链式存储结构
C.线性结构、非线性结构 D.基本结构、构造结构
2.下述哪一条是顺序存储结构的优点?( )
A.物理上相邻的元素在逻辑上也相邻 B.插入运算方便
C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示
3.下面关于线性表的叙述中,错误的是哪一个?( )
A.线性表采用顺序存储,必须占用一段连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链式存储,不必占用一片连续的存储单元。
D.线性表采用链式存储,便于进行插入和删除操作。
4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表
5.6个元素按照6,5,4,3,2,1 的顺序进栈,下列哪一个不是合法的出栈序列?( )
A. 5,4,3,6,1,2 B. 4,5,3,1,2,6
C. 3,4,6,5,2,1 D. 2,3,4,1,5,6
6. 一个递归算法必须包括( )。
A. 递归部分 B. 终止条件和递归部分
C. 循环部分 D. 终止条件和循环部分
7. 执行完下列语句段后,i值为:( )
int f(int x) {
return ((x>0) ? x* f(x-1):2);
}
int i ;
i =f(f(1));
A.2 B. 4 C. 8 D. 无限递归
8. 若用front和rear分别表示循环队列的队头元素和队尾元素在数组中的下标,则队列为空时有( )。
A. rear=front-1 B. rear=front+1
C. rear=front D. 不能确定
9. 栈和队都是( )
A.顺序存储的线性结构 B. 链式存储的非线性结构
C. 限制存取点的线性结构 D. 限制存取点的非线性结构
10. 一般来说,最快的排序算法是( )。
A、归并排序 B、快速排序 C、插入排序 D、Shell排序
7086111年前4
hthtii 共回答了18个问题 | 采纳率94.4%
1 B
2 A
3 B
4 ?
5 C
6 D
7 B
8 C
9 C
10 B
参考前两者的答案和自己的想法·~
我感觉一楼那个虽然解释的很多。。但是不怎么准。。
试分析在顺序存储结构的线性表中插入一个元素的时间复杂度?
是一种病1年前1
llanon 共回答了21个问题 | 采纳率95.2%
假设插入的是第i个 0
已知长度为n的线性表A采用顺序存储结构,请写出一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法可删除线性表中
已知长度为n的线性表A采用顺序存储结构,请写出一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法可删除线性表中所有值为item的数据元素.
程冰雪1年前1
宽恕 共回答了17个问题 | 采纳率94.1%
时间复杂度为O(n)、空间复杂度为O(1)?
那就一个一个去比较是不是item值,
假设 第m到第n个 是item 值,那就 把第n+1个元素替换第m个,依次下去
关于数据结构的题1.若在线性表中采用二分查找法查找元素,该线性表应该( ).A.元素按值有序 B.采用顺序存储结构C.元
关于数据结构的题
1.若在线性表中采用二分查找法查找元素,该线性表应该( ).
A.元素按值有序 B.采用顺序存储结构
C.元素按值有序,且采用顺序存储结构
D.元素按值有序,且采用链式存储结构
2.对二叉排序树进行_________遍历,可以得到该二叉树所有结点构成的有序序列.
(A) 前序 (B)中序 (C)后序 (D)按层次
3.利用逐点插入法建立序列(51,71,43,81,74,20,34,45,64,30)对应的二叉排序树以后,查找元素34要进行( )元素间的比较.
A.4次 B.5次 C.7次 D.10
4.对二叉排序树进行____________遍历,可以得到该二叉树所有结点构成的有序序列.
(A) 前序 (B)中序 (C)后序 (D)按层次
5.散列函数有一个共同性质,即函数值应按( )取其值域的每一个值.
A.最大概率 B.最小概率 C.同等概率 D.平均概率
6.一个哈希函数被认为是“好的”,如果它满足条件_________.
(A)哈希地址分布均匀
(B)保证不产生冲突
(C)所有哈希地址在表长范围内
(D)满足(B)和(C)
7.哈希表的平均查找长度是__________的函数.
(A)哈希表的长度 (B)表中元素的多少
(C)哈希函数 (D)哈希表的装满程度
8.平均查找长度最短的查找方法是____________.
(A)折半查找 (B)顺序查找 (C)哈希查找 (4)其他
2、判断题
1.在有序表的查询过程中,设立“哨兵”的作用是为了提高效率.( )
2.对于折半查找,其前提条件是待查找序列只要是有序的即可.( )
金色的小提琴1年前1
杜闲 共回答了15个问题 | 采纳率100%
一楼个别选择题答案有疑问:
6.一个哈希函数被认为是“好的”,如果它满足条件_________.
(A)哈希地址分布均匀
(B)保证不产生冲突
(C)所有哈希地址在表长范围内
(D)满足(B)和(C)
本题的答案有疑问,因为如果不知道关键码值的全部集合根本就不可能设计出perfect的hash函数,当然就不可能保证不产生冲突,因此正常情况hash函数只要满足A即可,也就是hash的意译散列,一旦冲突了再来解决冲突,C则是必须满足的隐含条件
8.平均查找长度最短的查找方法是_____________.
(A)折半查找 (B)顺序查找 (C)哈希查找 (4)其他
答案为C,正常情况下就是有冲突,平均查找长度也不会大于4、5,如果是perfect 的hash函数,则ASL为1,而且与关键码的个数不直接相关,至于A的平均查找长度为log2n,并不是最小的
若长度为n的线性表采用顺序存储结构,在第i个位置插入一个元素,需要它依次向后移动______数据元素.
若长度为n的线性表采用顺序存储结构,在第i个位置插入一个元素,需要它依次向后移动______数据元素.
A.n-i
B.n-i+1
C.n-i-1
D.i
- - 给我个解题思路吧..别只有ABCD的答案..
有一说一1年前1
gg崖 共回答了13个问题 | 采纳率100%
选择题是可以有技巧的
题目说的是n和i,也就是说n和i是具有通用性的,对任何数字都成立,那么
你想想长度为5的表,你要在第四位插入一个数,是什么样的结果呢?
就是前三位不动,然后你挤进去一个第四位数,原来的第四第五位数就只能往后移了,也就是移了两个
那么2当然应该是等于5-4+1
选B
一个以顺序存储结构实现的循环队列Q[0..m-1],队头、对尾指针分别为f,r,其判空和判满条件
fish2701年前1
liscience 共回答了12个问题 | 采纳率100%
队列空和满时都有f=r,所以需要增加一个标志变量tag,以其取int型为例,队列初始化tag=1,入列操作时,将该标志置1,出列操作时将其置0.因此,队列判满条件就是f==r和tag==1同时满足,判空条件就是f==r.
在计算机世界中,顺序存储结构和链式存储结构的各自特征是什么?
zzfjq1年前1
Autumnmaples 共回答了13个问题 | 采纳率92.3%
顺序表是一种随机存储的结构,对顺序表中任一元素进行存取得时间相同,而链表是一种顺序存取的结构,对链表中的每一个结点都必须从头指针所指结点起顺链扫描.
九、 线性表的链式存储结构与顺序存储结构比较有何特点?这两种结构分别适合在什么情况下使用?
缘分S天空1年前1
Phoneix 共回答了22个问题 | 采纳率86.4%
看名字就差不多了吧
顺序存储结构就是用一组地址连续的存储单元依次存储该线性表中的各个元素.由于表中各个元素具有相同的属性,所以占用的存储空间相同.因此,在内存中可以通过地址计算直接存取线性表中的任一元素.这种结构的特点是逻辑上相邻的元素物理上也相邻.用顺序结构存储的线性表称作顺序表.
线性表按链式存储时,每个数据元素 (结点)的存储包括数据区和指针区两个部分.数据区存放结点本身的数据,指针区存放其后继元素的地址 (没有后继元素时设置为空字符(Null)..只要知道该线性表的起始地址 (记录在头指针中),表中的各个元素就可通过其间的链接关系逐步找到
数据结构的一个题.本过程从顺序存储结构的线性表a中删除第i个元素起的k个元素我想知道这样的算法用 j<
数据结构的一个题.
本过程从顺序存储结构的线性表a中删除第i个元素起的k个元素






我想知道这样的算法用 j<=k 循环,岂不是只把 i+k 后的 k 个元素往前移了吗,剩下的元素与 i+k+k 个元素间岂不是有k个元素大小的缝隙?
求指示.
smys08011年前1
zhangge123 共回答了19个问题 | 采纳率94.7%
分析:
用你上面图中的十个格子举例子,编号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个元素的位置.
如何用顺序存储结构实现队列,使得进队和出队时不再移动其他元素
jin_41年前1
海湖剑客 共回答了14个问题 | 采纳率78.6%
假设结构体如下:
struct{
x05datatype data[max];
x05int front,rear;
}sequeue;
front=rear=-1; //进行初始化
入队操作应该是这样的,首先rear++;然后把数据插入,data[rear]=a; (假设a是数据);
出对操作和入队类似,首先front++,如果你不需要保存出队的数据,那么就可以了,如果要保存的话,就b=data[front];(b为保存的数据)
求含有n个结点、采用顺序存储结构的完全二叉树中的序号最小的叶子结点的下标.要求写出简要步骤.
逍遥小丁子1年前1
ufgjkgng 共回答了20个问题 | 采纳率95%
根据完全二叉树的性质,最后一个结点(编号为n)的双亲结点的编号是en
/2?,这是最后一个分支结点,在它之后是第一个终端(叶子)结点,故序号最小的
叶子结点的下标是en/2u+1
线性表的顺序存储结构的题目,我自己的答案是n/2,书上的答案是(n-1)/2,
线性表的顺序存储结构的题目,我自己的答案是n/2,书上的答案是(n-1)/2,
设A是一个线性表(a1,a2,a3,...,an),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素的个数为多少?
唐懒儿1年前1
coolong1234 共回答了24个问题 | 采纳率91.7%
举个例子,3个数据的线性表,假设插入数据是m,那么可能的插入是
1,m
为什么"若长度为n的线性表采用顺序存储结构在其第i个位置插入一个新元素的时间复杂O(n)"(1
绿色古觞1年前1
一双大皮鞋 共回答了22个问题 | 采纳率81.8%
复杂度O(n)的意思的 :该代码的算法能力与n的一次方有关系的.
在这道题目里面 在第i个位置插入后 需要让线性表向后移动n+1-i.该算法与n的一次方有关系 所以是复杂度O(n) .虽然 平均数的算法是n/2
但是 复杂度的表示只有O(1) O(n) O(logn) .
数据结构试题 1、 画出线性结构、树结构和图结构的逻辑示意图2、 什么是顺序存储结构?什么是链式存储结构?3、 什么是堆
数据结构试题
1、 画出线性结构、树结构和图结构的逻辑示意图
2、 什么是顺序存储结构?什么是链式存储结构?
3、 什么是堆栈?什么是队列?举例说明堆栈、队列的用途.
4、 画出一个满二叉树和一个完全二叉树的例子
5、 给出它的先序,中序,后序遍历的输出结果.

6、 给定下列权值{5,1,3,9},完成构造哈夫曼树的过程.
7、 分别画出具有3个结点的树和3个结点的二叉树的所有不同形态.
有一组待排序的记录,其关键字为10 , 2 , 16, 13 , 4 , 25 , 3 , 10 , 20 , 6 , 18 .写出冒泡排序或选择排序每一趟结束时的状态.(从小到大排序)

用 Prim 算法或 Kruskal 算法构造出下面网络的最小生成树(要求画出过程).


画出下面一般树转换成二叉树的步骤.
0c8snb5c1年前2
海风袭人 共回答了21个问题 | 采纳率95.2%
1:线性结构

树结构

图结构


2 :顺序存储结构:把逻辑上相邻的节点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现.
链式存储结构:在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).每个结点是由数据域和指针域组成.
3:栈是一种特殊的线性表.其特殊性在于限定仅在表尾进行插入或删除操作.队列,其特殊性在于限定插入在线性表的一端进行,删除在线性表的另外一端进行.
以下是栈和队列的几个经典应用:
栈:“括号匹配”,“迷宫求解”,“进制转换”.
队列:“回文判断”,“排队取号”.
4:


5:先序:12,8,6,2,10,20,16,15
中序:2,6,8,10,12,15,16,20
后序:2,6,10,8,15,16,20,12

注:最后一题最后一步E的右子树是F