站点图标 起风网

算法一看就懂之「 排序算法 」

之前的文章咱们已经聊过了「 数组和链表 」「 堆栈 」「 队列 」「 递归 」,这些要么是基础的数据结构,要么就是巧妙的编程方法。从今天起咱们来进入真正的算法阶段,看一看“排序算法”。排序算法有很多,如:「冒泡排序」、「插入排序」、「选择排序」、「希尔排序」、「堆排序」、「归并排序」、「快速排序」、「桶排序」、「计数排序」、「基数排序」等等。

下图是常用排序算法的时间空间复杂度:

排序算法这么多,这里先将排序算法做个简单分类:

  1. 可以根据待排序的数据量规模分类:
  1. 可以根据排序的稳定性进行分类:
  1. 可以根据排序时间复杂度分类:
  1. 基于算法思想分类:

这些分类其实并没有那么严格,大多都是根据排序算法的特性总结的,不需要记住,搞懂了各种排序的特点之后也就自然而然的理解了。

这么多排序算法,我们应该怎么去评估它们呢?

一般而言,评估一个排序算法的质量主要从以下几个角度去看:

以上,就是对数据结构中「 排序算法 」的一些思考,下一篇就从「冒泡排序」开始聊起。

码字不易啊,喜欢的话不妨转发朋友,或点击文章右下角的“在看”吧。?

本文原创发布于微信公众号「 不止思考 」,欢迎关注。涉及 思维认知、个人成长、架构、大数据、Web技术 等。

文章转载于:https://www.cnblogs.com/jsjwk/p/11725869.html

原著是一个有趣的人,若有侵权,请通知删除

退出移动版