美文网首页
逻辑之美(8)_排序总结

逻辑之美(8)_排序总结

作者: xiaofei_dev | 来源:发表于2019-11-02 11:25 被阅读0次

排序算法相当重要,它和查找算法一起作为整个算法体系的基石

对用例来说,处理一组有序数据总要比处理一组无序数据容易得多。

比如要在数组中查找特定元素,如果数组是整体有序的,查找会非常轻松(经典的二分查找算法就要求数据集的是整体有序的,其运行的平均时间复杂度仅为 O(log n)),不然用例恐怕只得遍历一遍数组了!

自人类步入信息时代, 近几十年来,生产的信息已超过过去5000年的总和。而信息通过数据存储和传输。如此巨量的数据如果不经过有序性的组织,而全以杂乱无章存在,那必然会大大增加人类社会的复杂性,让处理很多问题变得不可能。有了之前聊到的诸多排序算法存在,才得以让人类社会以更加简单的方式运行。

有强迫症的同学会非常乐于将物品按照某种顺序组织好,以便后续取用;字典中将文字按照字母顺序印刷,再结合编撰好的索引,我们就能快速从中找到待查文字;搜索引擎返回的结果将网页按照与关键词的相关程度排序;Windows 系统的资源管理器、各种花名册,甚至于我们参加集体活动时需要列队都是按照身高排列……

排序的应用是如此广泛,结合计算机,排序算法又是如此的重要!有序性总会使待解决的问题更容易解决,所以排序经常作为待解决问题的一个子问题存在。想象一下,对比杂乱无序的一组数据,你是不是更乐于处理整洁有序的一组数据?

前面七篇文章我们依次聊了——冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序和快速排序这几种主要的排序算法,来列张表对比总结下:

排序算法 稳定性 原地排序 时间复杂度 空间复杂度 补充说明
冒泡排序 Y Y 平均 O(n^2) O(1) 最简单的排序算法
选择排序 N Y 平均 O(n^2) O(1) 运行时间输入无关
插入排序 Y Y 平均 O(n^2) O(1) 运行时间严重依赖输入,待排序数组如果已经整体有序,则只需线性级别的时间复杂度
希尔排序 N Y 最坏 О(n log²n);最佳O(n) O(1) 改进版插入排序
堆排序 N Y 恒为 O(n log n) O(1) 依赖于二叉堆这种数据结构
归并排序 Y N 恒为 O(n log n) O(n) 应用广泛,需要额外辅助空间
快速排序 N Y 平均 O(n log n) 依赖于具体实现 应用最广泛的排序算法,运行效率由概率保证

排序算法的稳定性是指算法是否会保持数组中键值相同元素的相对顺序不变。

快速排序是当下最快的通用排序算法。

如上所述,排序算法相当重要,它和查找算法一起作为整个算法体系的基石。OK下篇文章,我们开始聊查找~

完。

相关文章

  • 逻辑之美(8)_排序总结

    排序算法相当重要,它和查找算法一起作为整个算法体系的基石 对用例来说,处理一组有序数据总要比处理一组无序数据容易得...

  • 逻辑之美(4)_希尔排序

    希尔排序是一种改进后的,更高效的插入排序 开篇 本文最好结合上篇插入排序阅读,因为希尔排序其实是插入排序改进而来的...

  • 逻辑之美(2)_选择排序

    开篇 上篇我们好好聊了聊冒泡排序,这篇我们来聊聊另一种初级排序算法——选择排序 正文 选择排序的算法思路同样很简单...

  • 逻辑之美(7)_快速排序

    快速排序的高效性依赖于一定的运气成分 ↑这么讲其实不严谨。准确来讲,快速排序的高效性依赖于数学概率,且这里的数学概...

  • 逻辑之美(1)_冒泡排序

    献给我自己 瞎扯 瞎扯是文章中可以略过不读的部分,当然你若欣赏我的文笔那另说;-)过了好久,终于决定动笔写写算法了...

  • 20181121_ARTS_W7

    Algorithm 这周看了下数据结构与算法之美专栏的排序部分,归纳总结了几类基本排序的区别,并实现了相关的代码。...

  • 逻辑之美(3)_插入排序

    开篇 聊完选择排序,这篇我们来聊聊插入排序。 设想下你现在要安排一队人按照身高从低到高排序站立,你的排序方法很可能...

  • 逻辑之美(6)_归并排序

    开篇 上篇聊到的堆排序仅用线性对数级别的时间复杂度 O(n log n) 和常数级别的额外辅助空间即可将一个数组排...

  • 逻辑之美

    参加个学习,挺有些收获。人之高贵,其一是理性,理性呼唤逻辑,逻辑自洽,能给人愉悦的美感。学懂弄通做实! 语言是思维...

  • 《<跃迁>成为高手的技术》共读活动之总结感受

    引言 易仁永澄老师的领读,让我前所未有的感受到了“理性之美”、“系统之美”、“底层逻辑之美”、“知识体系之美”。参...

网友评论

      本文标题:逻辑之美(8)_排序总结

      本文链接:https://www.haomeiwen.com/subject/lamcbctx.html