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

相关推荐
千千寰宇21 分钟前
[数据库系统] 数据库系统的设计原理研究
数据结构·数据库·database-opengemini/influxdb·database-dament/达梦
殷色玫瑰1 小时前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
字节跳动的猫2 小时前
LikeShop 商品评价体系二开:追评、晒图审核与评价标签筛选功能开发
运维·数据结构·数据库
All for pursuit.3 小时前
【动态规划-8】152.乘积最大子数组
数据结构·c++·算法·leetcode·动态规划
信奥卷王3 小时前
[GESP202512 六级] 路径覆盖
数据结构·算法
INGNIGHT3 小时前
1861 · 老鼠跳跃(坐标型dp)
数据结构·c++
0+1114 小时前
算法 --归并排序
数据结构·算法·排序算法
字节跳动的猫4 小时前
LikeShop 种草社区模块二开:笔记发布、话题广场与商品挂载实现
数据结构·数据库
一棵树73514 小时前
数据结构闲聊
数据结构·算法
bro_Java6664 小时前
《二叉树的基础知识、操作方法与代码示例》
java·数据结构·算法·广度优先