数据结构刷题2023.02.27小记

单循环链表

A
从表中任一结点出发都能扫描到整个链表
B
不再需要头指针了
C
在进行插入、删除操作时,能更好地保证链表不断开
D
已知某个结点的位置后,能够容易找到它的直接前趋
正确答案 A

归并排序相对于快速排序的优点不包括()

A:归并排序是稳定排序,快速排序是不稳定排序,故A对。
B:归并排序的最坏时间复杂度为O(nlogn),而快速排序的最坏时间复杂度为O(n^2),故B对。
C:归并排序需要额外的O(n)的空间,快速排序需要额外的O(1)的空间,故C错。
D:归并排序的平均时间复杂度和最坏时间复杂度均为O(nlogn),不会退化;
快速排序的平均时间复杂度为O(nlogn),最坏时间复杂度为O(n^2),会退化;
故D对。

对给定的关键字序列110, 119, 007, 911, 114, 120, 122 进行基数排序, 则第 2 趟分配收集后得到的关键字序列是( )。

基数排序一般从最低有效位开始即个位开始排序,
第一趟排出110,120,911,122,114,007,119,
第二趟按照次高有效位即十位排序,
第二趟排出007,110,911,114,119,120,122.
基数排序与关键字的位数有关,但也是一种稳定排序。

在快速排序中,要使最坏情况的空间复杂度为O(log2n )则要对快速排序作( )修改。

A
划分元素为三者取中
B
采用表排序
C
先排最小集合
D
先排大集合

快速排序的思想:
先从数列中取出一个数作为基准数
分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边
再对左右区间重复第二步,直到各区间只有一个数
最优的情况下空间复杂度为:O(log2n) ;每一次都平分数组的情况,基准数尽量为中间数。
快速排序的最坏情形是数组为正序或逆序,如果pivot总是选择第一个元素,那么每次划分只得到一个比上一次划分少一个记录的子序列,此时需要执行次递归调用。显然,采用A(划分元素为三者居中),能够将每次待排序的part尽可能一分为二,从而使得递归深度为),即空间复杂度为

在一般包含n个节点的二叉搜索树中查找的最差时间复杂度是?

A
O(log(n))
B
O(n)
C
O(n^2)
D
O(1)
二叉搜索树可以不平衡

关于双链表的搜索给定元素操作的说法正确的是?

A
从两个方向搜索双链表,比从一个方向搜索双链表的速度慢
B
从两个方向搜索双链表,比从一个方向搜索双链表的方差要小
C
从两个方向搜索双链表,比从一个方向搜索双链表速度要快
D
以上说法都不正确
B 如果链表数据是无序的,则单向搜索与双向搜索平均速度相同 如果链表是有序的,而要搜索的数据距离最小值(最大值)较近,这种情况下双向搜索平均速度更快。 因此双向搜索更稳定,方差更小

B树

B树:二叉树
B-树:是一种多路搜索树
B+树:B+树是B-树的变体,也是一种多路搜索树:非叶子结点的子树指针与关键字个数相同
B*树: 是B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的指针;

有关希尔排序算法叙述正确的是( )

A
最后一次的步长增量一定为1
B
分割后子序列内部的排序算法是直接插入排序
C
分割后子序列内部的排序算法是直接选择排序
D
希尔排序是稳定排序算法
正确答案:AB

下面算法中可以判断出一个有向图是否有环的是:()

A
求最短路径
B
深度优先遍历
C
广度优先遍历
D
拓扑排序
有向图是否有环的判定算法,主要有深度优先和拓扑排序两种方法。


__EOF__

本文作者LV426
本文链接https://www.cnblogs.com/jiushijiushi/p/17159231.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   LV426  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示