【数据结构】第八章 排序 图解+思维导图+源代码(详细易懂)快排、冒泡、堆排、归并、基数、递归、希尔、计数

目录

一、插入排序

1.直接插入排序

​编辑

2.二分法插入排序(利用已排序列有序性)

​编辑

3.表插入排序(减少移动次数)

​编辑

4.shell希尔 排序(缩小增量排序)

 二、选择排序 

1.直接选择排序(效率<直接插入排序)

2.堆排序(高效,适合n值大)

 三、交换排序

 1.起泡排序

​编辑

2.快速排序/分区交换排序

四、分配排序/基数排序

五、归并排序(适合外存顺序访问效率高、随机访问效率低)

1.二路归并排序


一、插入排序

1.直接插入排序

2.二分法插入排序利用已排序列有序性

3.表插入排序减少移动次数

 插入记录Ri时,R0Ri-1已排好序

 先将Ri脱链, 采用顺序比较的方法找到Ri应插入的位置,将Ri插入链表


4.shell希尔 排序(缩小增量排序)

序列->间距d的元素构成的d 个“子序列”

反复

每个子序列内部分别排序

缩小d之后重复①直到d缩小为1 时再做一次排序

(即对整个序列排序)


 二、选择排序 

从空排序序列开始, 每次 从未排序 记录 中选 排序码最小 的记录,与未排序段的 第一个 记录 交换,直到所有记录排好序

1.直接选择排序(效率<直接插入排序)

直接选择排序效率较低,第i 趟排序需要作 n- i 次比较,没有利用已做的比较结果

2.堆排序高效,适合n值大

 不同分支中有排序码相同的结点,算法没法保证它们在最终排序序列里的位置关系

 三、交换排序

依次比较 相邻数据项 ,若某两项 次序颠倒 逆序 ),则交换它们

 1.起泡排序

2.快速排序/分区交换排序

所有 大于 R 0 的记录移到 R 0 右边 , 所有 小于 R 0 的记录移到 R 0 左边
递归 地分别对两组记录采用同样方式排序,直至划分到 每个 子部分 只包含 一个 记录

四、分配排序/基数排序

将所有待比较数字统一为统一位数长度,接着从最低位开始,依次进行排序。

  • 按照位数进行排序。
  • 按照十位数进行排序。
  • 按照百位数进行排序。

 

五、归并排序适合外存顺序访问效率高、随机访问效率低

把待排序的文件分成若干个子文件,先将每个子文件内的记录排序,再将已排序的子文件合并,逐步得到完全排序的文件

1.二路归并排序

速度较快 :Shell排序、堆排序、快速排序、归并排序

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构王道思维导图pdf》是一本以思维导图形式呈现的数据结构学习资料。这本资料以图解的方式对数据结构的概念、基本原理、常用数据结构算法进行了清晰的整理和总结。 首先,这本思维导图详细介绍了数据结构的基本概念,包括数据、数据元素、数据项、数据对象等基本术语的定义和解释。它帮助读者建立和理解数据结构的基本知识框架。 其次,这本思维导图详细讲解了常见的数据结构,如线性表、栈、队列、串、数组、链表、树、图等,并通过图示和文字说明展示了它们的特点、操作和应用场景。这样的图示方式使得读者更容易理解和记忆这些数据结构的特点和应用。 另外,这本思维导图还涵盖了常用的数据结构算法,如排序、查找、哈希等。它详细介绍了这些算法的原理、实现方法和时间复杂度,帮助读者掌握和运用这些算法解决实际问题。 此外,这本思维导图还提供了一些典型的数据结构应用实例,帮助读者将理论知识应用到实际的问题中。这些实例包括树的遍历、图的最短路径、哈希表的应用等,通过这些实例的讲解,读者可以更好地理解和掌握数据结构的应用技巧。 总的来说,《数据结构王道思维导图pdf》是一本非常实用的学习资料。它通过思维导图的形式,清晰地将数据结构的概念、基本原理、常用数据结构算法进行了整理和总结,使读者更易于理解和掌握数据结构的知识。同时,它也提供了一些典型的应用实例,帮助读者将理论知识应用到实际问题中。无论是初学者还是需要复习巩固的人,这本思维导图都是一个很好的学习工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值