介绍几种常用排序算法的思路(干货)

简单算法:冒泡、简单选择、直接插入;
改进算法:希尔、堆、归并、快速;
从平均情况看,显然最后三种改进算法要胜过希尔排序,远远胜于前三种简单排序算法。
从最坏情况看,堆排序与归并排序又强过快速排序及其他算法。
冒泡:每次相邻之间之间对比、选出最小的或者最大的。
简单排序:直接每次从序列中选出最大或者最小的、指导序列有序。
直接插入:将序列中第n个元素插入到有序的n-1个序列中、使得得到的新的n个元素的序列有序。
希尔排序:直接插入排序的改进、改的是插入距离。
堆排序: 简单选择排序的改进、堆是一颗完全二叉树,根节点的数值比其子节点大或者小、因而堆得根节点的数值是最大或者最小的。
归并排序:典型的分治算法的经典例子、先分后合。
快速排序:冒泡排序的改进、有个关键值,通过其使得关键值左边的数比其小,右边的数比其大。也是分治算法的思想。
总的来说、优化的快速排序算法是目前最好的排序算法、至于何为优化,就是在快速排序的基础上改进相关步骤。

快速排序的简单示意流程
在这里插入图片描述

可以参考此篇博文:https://blog.csdn.net/yushiyi6453/article/details/76407640

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值