数据结构笔记(3)

第七章:internal sorting

要求&笔记

概念:各种排序算法的基本实现思想,数据初始顺序对各排序算法时间的影响,各算法的 best/worst/average case 时间复杂度,各排序算法的稳定性

应用题:shellsort/bubble sort/quicksort/heapsort/radix sort 的排序过程

算法:insert/selection/bubble/heap/quick sort 算法

区分:选择排序与插入排序,插入排序是在“以排序的序列”中进行swap,选择排序是在未排序序列中比较

而冒泡选择是两个两个的

稳定性: if the original ordering for duplicate keys is preserved.(k1=k2排序后k1与k2顺序是否改变)

排序算法

平均时间复杂度

最坏时间复杂度

最好时间复杂度

空间复杂度

稳定性

冒泡排序

O(n²)

O(n²)

O(n)

O(1)

稳定

直接选择排序

O(n²)

O(n²)

O(n)

O(1)

不稳定

直接插入排序

O(n²)

O(n²)

O(n)

O(1)

稳定

快速排序

O(nlogn)

O(n²)

O(nlogn)

O(nlogn)

不稳定

堆排序

O(nlogn)

O(nlogn)

O(nlogn)

O(1)

不稳定

希尔排序

O(nlogn)

O(ns)

O(n)

O(1)

不稳定

归并排序

O(nlogn)

O(nlogn)

O(nlogn)

O(n)

稳定

计数排序

O(n+k)

O(n+k)

O(n+k)

O(n+k)

稳定

基数排序

O(N*M) 

O(N*M)

O(N*M)

O(M)

稳定

排序算法时间复杂度、空间复杂度、稳定性比较_排序算法的时间复杂度和空间复杂度-CSDN博客

习题

答案:D

解析:(等待问老师)

答案:A

答案:C

答案:C,有序几乎都是插入最好

答案:C,由此题可知选择、冒泡、堆排序都会先完成呈现排序结果的部分,利用好排除法

答案:A,由上一题可排除BC,由2,1,4的顺序可排除插入

答案:B,

C:由(1)(2)变化,猜测轴值为21,(2)(3)变化不合逻辑,可排除

A:(1)(2)变化不符合,应是(2)15 84 47 25 21

D:(1)(2)变化不符合

上一题:{15,9,7,8,20,-1,4}

A:区分插入与选择

(奇数个是难点)数据结构————希尔排序_希尔排序 递归-CSDN博客

(注意:如果数组是奇数,则会导致分组平均,会产生第三个组,则让这组数据与前一组相比较)

答案:

(1)

(2)(还未对答案,原来错了的)

注意是最后一个数与轴值交换,而不是放在最后

注意轴值而不是与其交换那个数

交换顺序:(12,18)(18,6)(16,10)(30,4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小杨加油呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值