# 排序

假设我们有一个没有任何排列顺序的电话号码簿(或笔记本)。当需要添加联络人和电话时,你只能将其写在下一个空位上。假定你的联系人列表上有很多人。某天,你要找某个联系人及其电话号码。但是由于联系人列表没有按照任何顺序来组织,你只能逐个检查,直到找到那个你想要的联系人为止。这个方法太吓人了,难道你不这么认为吗?想象一下你要在黄页上搜寻一个联系人,但是那本黄页没有进行任何组织,那得花多长时间啊?!因此(还有其他原因),我们需要组织信息集,比如那些存储在数据结构里的信息。排序和搜索算法广泛地运用在待解决的日常问题中。本章,你会学到最常用的排序和搜索算法,如冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序、计数排序、桶排序、基数排序,以及顺序搜索、内插搜索和二分搜索算法。

# 排序算法

# 冒泡排序

人们开始学习排序算法时,通常都先学冒泡算法,因为它在所有排序算法中最简单。然而,从运行时间的角度来看,冒泡排序是最差的一个,接下来你会知晓原因。

冒泡排序比较所有相邻的两个项,如果第一个比第二个大,则交换它们。元素项向上移动至正确的顺序,就好像气泡升至表面一样,冒泡排序因此得名。

# 选择排序

# 插入排序

# 归并排序

# 快速排序

# 计数排序

# 桶排序

# 基数排序

Last Updated: 5/16/2020, 6:29:27 PM