数据结构内排序题库_已知一组元素的排序码为(67, 34, 56, 12, 88, 3, 15, 36, 27, 98,

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

A、直接选择排序

B、直接插入排序

C、冒泡排序

D、快速排序

解析

直接选择排序不管记录初始排列如何,第i趟排序中选出最小关键字的记录都需要比较n-i次,选最小关键字一共需要比较

n-1+n-2+…+1=n(n-1)/2 次,还有比较是否需要交换关键字,一共n-1次

**3、**某整型数组A的10个元素值依次为6,2,9,7,3,8,4,5,0,1,用快速排序方法(课程中介绍的快速排序实现方式),取第一个元素值6作为分割数,将A中元素由小到大排序,写出快速排序第一次分隔后A中的结果()。

解析

选择轴值并存储轴值;

最后一个元素放到轴值位置;

初始化下标 i, j,分别指向头尾;

i 递增直到遇到比轴值大的元素,将此元素覆盖到j的位置;j 递减直到遇到比轴值小的元素,将此元素覆盖到 i 的位置;

重复上一步直到 i==j,将轴值放到 i 的位置,完毕。

答案: 1 2 0 5 3 4 6 8 7 9

扩展一个例子:

**4、**在对一组记录(50,40,95,20,15,70,60,45,80)进行从小到大冒泡排序时,第一趟需进行相邻记录的交换的次数为( ),在整个排序过程中共需进行( )趟才可完成。

解析

参考上课的例子:

从最后两个元素开始

第一趟需要交换45和60,45和70,15和20,15和95,15和40,15和50,所以共6次,

而交换7趟过后,就已经NoSwap==true了,故答案为6 7

答案: 6 7

**5、**需要对1000个大型的记录进行排序,记录本身存储在外存中,在内存中只保存了所有记录的排序码。排序码之间的比较非常快,但是移动代价很大,因为一旦移动一个排序码,相应的外存中的记录也要移动,将涉及上百个磁盘块的移动,应该使用何种排序方法()

A、直接选择排序

B、堆排序

C、快速排序

D、插入排序

解析

应该选择直接选择排序,此排序法可以达到尽量少的移动量,虽然比较次数达到N^2,但是相对于外存的处理时间来说,不是关键因素。

**6、**已知一组元素的排序码为(67, 34, 56, 12, 88, 3, 15, 36, 27, 98, 11, 55),利用自顶向下划分的非优化归并排序方法(划分到小于等于2个元素),写出第二趟二路归并排序后的结果。

参考例子:归并排序

自顶向下拆分

(67, 34, 56, 12, 88, 3, 15, 36, 27, 98, 11, 55)

(67, 34, 56, 12, 88, 3) (15, 36, 27, 98, 11, 55)

(67, 34, 56) (12, 88, 3) (15, 36, 27) (98, 11, 55)

(67)(34, 56) (12)(88, 3) (15)( 36, 27) (98)(11, 55)

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值