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位置插入时,只需修改指针指向的位置,无需移动节点。

相关推荐
CSharp精选营2 天前
关系型 vs 非关系型:从原理到选型,一文搞定数据库核心分类
数据结构·nosql·关系型数据库·非关系型数据库·技术选型
刘马想放假6 天前
Modbus 全栈技术解析:TCP、RTU、ASCII、RTU over TCP
数据结构·网络协议
北域码匠7 天前
冒泡排序太慢?鸡尾酒排序双向优化,原生 C# 零第三方库完整代码
数据结构·排序算法·泛型·c# 算法·鸡尾酒排序·原生 c# 开发·冒泡排序优化·嵌入式算法
Darling噜啦啦13 天前
列表转树算法深度解析:从 Map 到 Reduce 的两种实现,面试高频考点
数据结构·算法·面试
小小工匠14 天前
Redis - 事务机制:能实现 ACID 属性吗
数据结构·redis·性能优化·并发·持久化
玖玥拾15 天前
C/C++ 数据结构(七)栈、容器适配器
c语言·数据结构·c++··容器适配器
Qres82115 天前
算法复键——树状数组
数据结构·算法
酉鬼女又兒15 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
牛油果子哥q15 天前
并查集(DSU)超精讲,路径压缩、按秩合并、万能模板、连通性判定、最小生成树与刷题实战全解
数据结构·c++·最小生成树·并查集
凌波粒15 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode