数据结构算法第四节

排序算法

排序算法的稳定性,

稳定算法和不稳定算法 稳定算法

不稳定算法可能在相等的键值中改变记录的相对次序

冒泡排序 比较简单

选择排序 一趟一趟找最小值,找到一个最小值和第i次寻找的i位数字交换

插入排序 从右侧无序序列插入到有序序列,每个数字和左边有序序列从右往左比较,如果判断比该数小就交换,直到不能交换为止,再开始无序序列下一个数与有序序列的半段

希尔排序 是插入排序的改进版 整体序列取一个间隔,gap,分组做插入算法,然后调小gap,调小到1进行插入排序   取gap的策略更改可以优化时间复杂度

快速排序  用第一个数作为分界点,使用左右端两个游标,开始判断最后一个数和分界数的大小,如果遇到比分界数小的则把该数交换到左侧第一个空位,然后开始判断左侧第一个数和分界数大小,开始遇到比分界数打的把该数交换到右侧空位,直到左右两侧都是比分界数小的和大的,然后两头再进行上述循环,形成递归    (和分界点数相等的数放在同一边)递归可以再次调用快排方法,参数是原序列以及操作的范围。处理的只有一个元素的时候到达极限了

切片的时候传入的是一个新的对象,不能用切片,所以快排方法需要引入新的参数

归并排序 列表先分,分到最小剩一个再开始排序合并  归并排序生成一个新的序列,需要额外的空间

快排必须掌握

排序算法总结:

 搜索 二分查找

折半查找,速度快

时间复杂度为 最快 O(logn)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值