01排序

一.多个关键字的排序可以转化为单个关键字的排序

二.分数相等的人A和B,排序之前A在B前,排序后A仍在B前,则此排序是稳定的,否则是不稳定的.

三.

内排序:排序的整个过程中,待排序的所有记录全部放置在内存中
外排序:由于排序的记录个数太多,不能同时放置在内存,整个排序过程需要在内外存之间多次交换数据才能进行.

四:排序算法:

1.冒泡排序:

(1)当i=1时,将最小值1冒泡到顶端


1.JPG

(2)当i=2时,将最小值2冒泡到顶端


image.png

(3)以此类推

冒泡排序优化:

1.JPG

2.简单选择排序算法:

1.JPG

3.直接插入排序算法:

1.JPG

4.堆排序算法:

1.JPG

(1):构建堆:
长度为9, s=9/2 = 4
取前4个值为跟节点,构建堆

1.JPG

(2)构建大顶堆:


1.JPG

(3)排序
i=9时,将第9个元素20,和第一个元素90(大顶堆中最大的数交换),此时第9个元素已排序好,为最大的数90
交换后,除90以外剩余的元素,重新构建大顶堆.把剩余元素中最大的数80移到了堆顶的位置

1.JPG

i=8时,将第8个元素30,和第一个元素80(大顶堆中目前最大的数交换),此时第8个元素已排序好,为目前最大的数80
交换后,除90,80以外剩余的元素,重新构建大顶堆.把剩余元素中最大的数70移到了堆顶的位置

以此类推完成堆排序:


1.JPG
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,248评论 0 52
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 1,293评论 0 2
  • 本文首发于我的个人博客:尾尾部落 排序算法是最经典的算法知识。因为其实现代码短,应该广,在面试中经常会问到排序算法...
    繁著阅读 4,594评论 3 118
  • 简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间 时间复杂度计算时间复杂度的方法: 用常...
    Teci阅读 1,141评论 0 1
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    printf200阅读 801评论 0 0