排序方式小结

分为有序区和无序区进行排序:

1、插入排序

        将数组分为有序区和无序区。默认第一个数是有序区,后面的数依次往前遍历找到自己的位置。

2、希尔排序

        插入排序的优化算法。对于基本有序的数组效率更高。思路是当小数在后时,尽量减少不必要的比较、转换消耗。

3、选择排序

        将数组分为有序区和无序区,每次从无序区遍历出最大值和最小值,插入有序区。

4、冒泡排序

         将数组分为有序区和无序区,每次从无序区遍历出最大值或最小值,插入有序区。

使用二叉树进行排序:

堆排序:

将数组构造成堆,使用堆调整进行排序。

堆,向下调整算法,向上调整算法,数组建堆算法,堆排序,建堆时间复杂度的推理_双鱼211的博客-CSDN博客_堆调整算法

分而治之:

1、快速排序

        思路:分为小区和大区,递归。不适合基本有序的数组

        选取中间值,中间值左边区域,右边区域。小于中间值放左边,大于中间值放右边。(如何移动,元素置换最少?)

快速排序算法_RonzL的博客-CSDN博客_快速排序

2、归并排序

        思路:切半,递归切为多个长度为1数组,再作为有序数组两两合并成有序数组。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值