基础排序算法

——对自身掌握的排序算法的总结(算法思想和代码)——

1.直接插入排序

    基本思想:将原有的数据序列分为已排序和未排序两部分,排序开始时,以原序列的第一个数据项作为已排序序列,将剩余数据项作为未排序序列;然后依次将未排序序列的各数据项按大小顺序插入到已排序序列的适当位置,直到全部数据处理完。

     逻辑分析:类似于排队,老师一个一个排,矮就插到前面

 

 2.希尔排序

    基本思想:选定第一个增量d<n,把全部记录按此值从第一个记录起进行分组,所有相距为d的记录作为一组。先在各组内进行插入排序;然后缩小间隔,取第二个增量d,重复上述分组和排序过程;如此反复,直至增量值d=1为止,即所有的记录放在同一组内排序。d=n/2。

      逻辑分析:跳跃式对比,优化插入排序

 3.冒泡排序

    基本思想:首先比较第一个数据项与第二个数据项,若为逆序,两者进行一次交换;然后比较第二个数据项和第三个数据项,若为逆序,再进行一次交换……直到第n-1个数据项与第n个数据项比较完成。上述过程称为第一轮起泡排序过程,其结果使得最大的数据项被放在第n个位置上。接下来,对第一个数据项至第n-1个数据项进行第二轮起泡排序,将次大的数据项放在第n一1个位置上。以此类推,进行后续的起泡排序过程,直到没有数据交换为止。

    逻辑分析:也类似排队,先有一个队列,学生两两交换,逐步完成排序

 4.快速排序

    基本思想

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值