排序介绍
原文:https://www.studytonight.com/data-structures/introduction-to-sorting
排序只不过是按升序或降序排列数据。随着人类意识到快速搜索的重要性,术语“排序”应运而生。
在我们的现实生活中,有太多的东西需要我们去搜索,比如数据库中的某个特定记录、优点列表中的滚动号码、电话簿中的某个特定电话号码、某本书中的某个特定页面等等。如果数据保持无序和未排序,这一切都将是一团糟,但幸运的是排序的概念出现了,使每个人更容易按顺序排列数据,从而更容易搜索。
排序按顺序排列数据,使搜索更容易。
分拣效率
如果你问我,我将如何按顺序排列一副洗牌的牌,我会说,我将从检查每张牌开始,并在继续前进时制作一副牌。
我可能要花几个小时才能把甲板整理好,但我会这样做。
感谢上帝,电脑不是这样工作的。
自编程时代开始以来,计算机科学家一直致力于通过提出各种不同的算法来排序数据,从而解决排序问题。
判断哪种算法优于另一种算法的两个主要标准是:
- 给定数据排序所花费的时间。
- 这样做所需的内存空间。
不同的排序算法
根据效率和空间要求的不同,有许多不同的排序技术可供选择。以下是我们将在接下来的几个教程中介绍的一些排序技术。
- 冒泡排序
- 插入排序
- 选择排序
- 快速排序
- 归并排序
- 堆排序
虽然这些排序技巧比较容易理解,但还是建议大家先了解一下空间复杂度、时间复杂度以及搜索算法,为排序算法暖脑。