【自考】数据结构之排序

本文介绍了数据结构中的排序算法,包括插入排序、交换排序(冒泡排序和快速排序)、选择排序(直接选择和堆排序)以及归并排序。详细解释了每种排序方法的思想、特点和适用范围,并探讨了排序算法的稳定性与时间复杂度。
摘要由CSDN通过智能技术生成

    目前正在学习自考资料《数据结构》米老师说,现在这个阶段,最重要的就是总结归纳,编织自己的知识网!虽然当时理解了懂了,但还是架不住时间的侵蚀,所以,总结归纳是让所学知识融入自身认知结构的重要组成部分,使自己的认知在“平衡-不平衡-新的平衡”的循环中不断丰富、提高和发展。




  定义

   排序就是将一组对象,按照规定的次序,进行重新排列的过程。它主要为检索服务!


  分类

     排序可分为两大类:内部和外部

    内部:待排序的记录全部存放在计算机内存中,然后进行排序的过程。

    外部:待排序的记录数量很大,内存不能存储全部记录,需要对外存进行访问的排序过程。

    在内部排序中可分为四类:插入、交换、选择和归并。下面一一为大家介绍一下:

   插入

     插入排序又可分为多种方法,本篇博客中只介绍直接插入排序(Straight Insertion Sorting)

    的基本思想是,依次将每个记录插入到一个已排好序的有序表中去,从而得到一个新的、记录数增加1的有序表。  

    在直接插入排序算法的描述中,我们会设置“岗哨”。那么,这里的“岗哨”是什么意思?


     上面的代码中,List型变量的第0个记录可以闲置或用来暂存某个记录值,可以用作“岗哨”。所以,使用R[0]有两个作用。

    1、  进入查找循环之前,保存R[i]的值,使得不至于因记录的后移而丢失R[i]中的内容

    2、  起到岗哨作用,在while循环中“

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值