408每日一题——数据结构

1.线性表采用链式存储时,其地址()。

A.必须是连续的 B.部分地址必须是连续的 C.一定是不连续的 D.连续与否均可

2.设顺序表的长度为 n,下列算法中,最坏情况下比较次数小于 n 的是()。

A.寻找最大项 B.堆排序 C快速排序 D.顺序查找

3.已知一个长度为 n的单链表,每个节点包含一个整数数据域和一个指向下一个节点的指针域。若要在第i个位置插入一个新节点(1≤i≤n+1)平均需要移动的节点数为()。

A.n B.n/2 C.(n-1)/2 D.0

答案在下面。

第一题答案:D

解析:采用链式存储会用到指针,指针存储着数据的内存地址,因此可以不连续。

第二题答案:A

解析:

考察时间复杂度。

A:顺序表最坏情况,拿第二项跟第一项比较,记录最大项的值,之后拿后面的项与最大项比较,找到最大项,比较n-1次。

B:堆排序的时间复杂度为**N*log(N),**限制n≥2,可以复习堆排序。

C:快排如果按相反的顺序排列,第n-1次对比后,基准元素位于中间位置,之后的次数为n-2,n-3,......1,合计n(n-1)/2,等同最坏的时间复杂度。

D:顺序查找最坏情况是目标元素不存在,或目标值在表的最后一位,最坏为n次。

另:(线性表最坏情况下查找或比较次数)

|-------------|----------|
| 查找最大项/查找最小项 | n-1 |
| 顺序查找 | n |
| 二分法查找 | log2n |
| 冒泡排序 | n(n-1)/2 |
| 快速排序 | n(n-1)/2 |
| 简单插入排序 | n(n-1)/2 |
| 堆排序 | nlog2n |

第三题答案:D

解析:链表包含指针,在i位置插入时,只需修改指针指向的位置,无需移动节点。

相关推荐
元亓亓亓17 小时前
考研408--操作系统--day11--文件管理&逻辑物理结构&目录&存储空间管理
数据库·考研·文件管理·408
im_AMBER18 小时前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
s砚山s19 小时前
代码随想录刷题——二叉树篇(十三)
数据结构·算法
ulias21220 小时前
AVL树的实现
开发语言·数据结构·c++·windows
黎雁·泠崖20 小时前
二叉树知识体系全梳理:从基础到进阶一站式通关
c语言·数据结构·leetcode
蜕变菜鸟20 小时前
JS的Object.keys()和sort()排序的用法
数据结构·算法
镜中人★20 小时前
408数据结构考纲知识点(更新中)
数据结构
杜子不疼.20 小时前
【LeetCode30_滑动窗口 + 哈希表】:三招搞定“串联所有单词的子串”
数据结构·算法·哈希算法
妹妹够啦20 小时前
1. 两数之和
数据结构·算法·leetcode