上一节介绍了最简单的交换排序 – 冒泡排序,这一节将介绍平均性能比冒泡排序要好很多的一种交换排序,那就是快排序(Quick Sort)。 快排序的基本思想 快排序(Quick Sort)是一种分治的排序算法。…
常见排序算法导读(5)[冒泡排序]
上一节介绍了直接插入排序,这一节将介绍冒泡排序(Bubble Sort)。绝大多数程序员接触的第一个排序算法恐怕就是冒泡排序了,(顺便吐槽一下)尤其是被谭浩强的《C程序设计》那本书毒害的一代又一代年轻人,其中也包括我自己…
常见排序算法导读(4)[直接插入排序]
上一节介绍了简单选择排序,这一节将介绍直接插入排序(Straight Insertion Sort)。 会玩扑克牌的同志应该很容易理解插入排序,通常整理扑克牌的方法就是一张一张的来,将每一张扑克牌插入到其他已经有序的扑克…
常见排序算法导读(3)[简单选择排序]
这一节将介绍简单选择排序(Simple Selection Sort)。 在介绍简单排序算法之前,先给出排序的确切定义,并简单介绍一下排序算法的稳定性。 排序的确切定义 假设含有n个对象的序列为{R[0], R[1], …
常见排序算法导读(1)[概览]
排序算法有很多,但常见的也就9种。下面首先给出本人用LibreOffce画的两张表,做一个最简单直接的总结,然后再逐一展开讨论。 (注:下面的表2可谓面试必备,强烈推荐牢记于心。) o 表1 – 常见排序算法…