数据结构总复习刷题查漏补缺

一.判断总结

1-54

对于顺序存储的长度为N的线性表,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)

T

顺序表有随机访问特性----O(1),链表没有所以是O(N)

其他插入删除两个差不多平均都是O(N)

1-55

若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用顺序表存储最节省时间。 (2分)

T

一提到顺序表插入删除想一个词:移动!!!

1-56

对于顺序存储的长度为N的线性表,删除第一个元素和插入最后一个元素的时间复杂度分别对应为O(1)和O(N)。 (1分)

F

同上题:一提到顺序表插入删除想一个词:移动!!!

1-76

在具有N个结点的单链表中,访问结点和增加结点的时间复杂度分别对应为O(1)和O(N)。 (1分)

F

都是O(N)

1-77

将长度分别为m,n的两个单链表合并为一个单链表的时间复杂度为O(m+n)。 (1分)

F

时间复杂度为O(1),如果是两个链表都是有序的,合成一个有序链表的时间复杂度为O(M + N)

1-147

不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑"溢出"情况。 (2分)

T

这个是肯定的。。。

二.选择总结

2-5

在数据结构中,与所使用的计算机无关的数据结构是()。 (2分)

  1. 逻辑结构
  2. 存储结构
  3. 逻辑结构和存储结构
  4. 物理结构

2-28

h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(1分)

  1. h=t; t->next=h->next;
  2. t->next=h->next; h=t;
  3. h=t; t->next=h;
  4. t->next=h; h=t;

2-48

计算机算法必须具备输入、输出和()等五个特性。 (2分)

  1. 可行性、可移植性和可扩充性
  2. 可行性、确定性和有穷性
  3. 确定性、有穷性和稳定性
  4. 易读性、稳定性和安全性

2-71

线性表L=(a1, a2 ,……,an )用一维数组表示,假定删除线性表中任一元素的概率相同(都为1/n),则删除一个元素平均需要移动元素的个数是()。 (2分)

  1. n/2
  2. (n+1)/2
  3. (n-1)/2
  4. n

2-80

将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数是: (2分)

  1. 1
  2. N
  3. 2N
  4. NlogN

2-84

将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为( )。 (2分)

  1. O(1)
  2. O(m)
  3. O(n)
  4. O(n+m)

2-98

将线性表La和Lb头尾连接,要求时间复杂度为O(1),且占用辅助空间尽量小。应该使用哪种结构? (2分)

  1. 单链表
  2. 单循环链表
  3. 带尾指针的单循环链表
  4. 带头结点的双循环链表

2-99

(neuDS)在链表中若经常要删除表中最后一个结点或在最后一个结点之后插入一个新结点,则宜采用()存储方式。 (2分)

  1. 顺序表
  2. 用头指针标识的循环单链表
  3. 用尾指针标识的循环单链表
  4. 双向链表

2-112

与单链表相比,双链表的优点之一是()。 (2分)

  1. 插入、删除操作更加简单
  2. 可随机访问
  3. 可以省略表头指针或表尾指针
  4. 顺序访问相邻结点更加灵活

2-140

若已知一队列用单向链表表示,该单向链表的当前状态(含3个对象)是:1->2->3,其中x->y表示x的下一节点是y。此时,如果将对象4入队,然后队列头的对象出队,则单向链表的状态是: (1分)

  1. 1->2->3
  2. 2->3->4
  3. 4->1->2
  4. 答案不唯一

2-141

在一个链队列中,front和rear分别为头指针和尾指针,则插入一个结点s的操作为( )。 (2分)

  1. front=front->next
  2. s->next=rear;rear=s
  3. rear->next=s;rear=s;
  4. s->next=front;front=s;

2-143

在一个不带头结点的非空链式队列中,假设f和r分别为队头和队尾指针,则插入s所指的结点运算是( )。 (2分)

  1. f->next=s; f=s;
  2. r->next=s; r=s;
  3. s->next=s; r=s;
  4. s->next=f; f=s;

2-166

如果一棵非空k(k≥2)叉树T中每个非叶子结点都有k个孩子,则称T为正则k叉树。若T有m个非叶子结点,则T中的叶子结点个数为:(3分)

  1. mk
  2. m(k−1)
  3. m(k−1)+1
  4. m(k−1)−1

作者: DS课程组

单位: 浙江大学

2-167

有一个四叉树,度2的结点数为2,度3的结点数为3,度4的结点数为4。问该树的叶结点个数是多少?(2分)

  1. 10
  2. 12
  3. 20
  4. 21

2-173

三叉树中,度为1的结点有5个,度为2的结点3个,度为3的结点2个,问该树含有几个叶结点? (3分)

  1. 8
  2. 10
  3. 12
  4. 13

2-220

如果G是一个有36条边的非连通无向图,那么该图顶点个数最少为多少?(3分)

  1. 7
  2. 8
  3. 9
  4. 10

2-233

一个有N个顶点的强连通图至少有多少条边? (2分)

  1. N−1
  2. N
  3. N+1
  4. N(N−1)

2-38

给定一有向图的邻接表如下。从顶点V1出发按广度优先搜索法进行遍历,则得到的一种顶点序列为: (2分)

  1. V1,V2,V3,V4,V5
  2. V1,V2,V3,V5,V4
  3. V1,V3,V2,V4,V5
  4. V1,V4,V3,V5,V2

解析:

有点累hh

其实只要了解堆的删除过程就还好啦

解析:

简单总结一下:

顺序表插入的平均移动次数是(n)/2

顺序表删除的平均移动次数是(n-1)/2

链表的插入和删除的平均查找次数都是(n)/2

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值