排序问题

1.冒泡排序

2.快速排序

3.选择排序

4.插入排序

5.希尔排序

6.桶排序

7.归并排序

8.堆排序


1.冒泡排序:

2.快速排序:

快排的核心是划分,以当前区间的第一个为比较元素,从后向前找到比它小的,将小的放到比较元素的位置;再从前往后找到比它大的,交换;再对划分后的两部分分别递归调用,直到low>=high为止。通过一次划分将序列分成两部分,左边的部分全部小于基准值,右边的部分大于基准值。(升序)



3.选择排序:选择排序是从一个数组中选出最小的与第一个位置交换,然后再从剩下的中选出最小的,与第二个位置的数交换……直到所有的都交换完毕。


4.插入排序:插入排序是从第一个开始,每次将一个数从后向前扫描,插入到前面“已排好”的序列中。直到所有的数都插入完毕。


5.希尔排序:是插入排序的变种。

6.桶排序:针对数据范围有限的序列。将每个数分到按顺序排列的有限的“桶”中,然后从头开始“打印”出桶中数量大于等于1的数字。

7.归并排序:归并排序分为两步:划分和归并。

首先将原数序列划分成两个集合;分别对这两个集合排序;最好将已排序的两个集合归并成一个序列。



8.堆排序:

若在输出堆顶的最小值之后,使得剩余n-1个元素的序列重又建成一个堆,则得到n个元素的次小值。如此反复执行,便能得到一个有序序列,这个过程称之为堆排序

堆排序的关键在于调整函数。调整函数。

若想得到升序,则建立大顶堆,若想得到降序,则建立小顶堆


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 10,603评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 9,098评论 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 5,034评论 0 2
  • 由于几乎所有的排序都会用到两个元素的交换,所以将交换方法放在这里,每个排序算法中直接使用: 冒泡排序 基本思想:每...
    maxwellyue阅读 6,065评论 0 0
  • 现在是自媒体时代,很多个人或者小团队都希望能有一个微信公共号平台用来宣传自己。公共号开通其实很简单,推广的方式也已...
    老炉传说阅读 35,271评论 0 8

友情链接更多精彩内容