律有序的事物符合人类大脑的认识规律,内在的排序不是人类的本能。有序的事物符合人类大脑的认识规律
2
有序的事物符合数学规律有序的元素之间有着递增或递减的单调性。对于探究元素的内在联系,排序是极其重要的。
3
打乱顺序是容易的,打乱顺序是容易的,建立顺序是困难的如热力学第二定律指出,对不可逆过程,系统的熵总是增加的。也就是元素就是自发的走向无序的状态,建立顺序是需要代价的,不能自发的进行,所以需要我们主动来排序。
2基于比较的排序
在计算机科学中,排序是一门基础的算法技术,许多算法都要以此作为基础,不同的排序算法有着不同的时间开销和空间开销。1959年Do
aldShell发明了冲破ON时间屏障的希从尔排序,到1962年CARHoare发明了时间复杂度为ONlogN快速排序,排序已经被认为是一个已解决的问题。然而至今新的排序算法依然在不断产生,如2005年被发明的图书
2
f馆排序。排序算法已经有非常多种了,最直观的,序列中数据之间需要进行比较的排序,被称为基于比较的排序基于比较的排序。基于比较的排序
1基于比较的排序的三种手段
在基于比较的排序算法中,存在着两种基本的思想,即对于混乱的数据,调整调整或者重建重建。于调整重建是有三种基本手段:交换选择插入交换、选择插入。交换选择、插入交换是实现调整的最直接手段,基本方法是把逆序的数据进行交换,以实现顺序排列。以重交换建实现排序,考虑是每次从原序列中挑出应该取的元素,还是从原序列中顺序地取出元素,考虑插入到新序列中哪个位置。前者的手段为选择选择,后者的手段是插入插入。选择插入在基于交换的排序算法中,人们最早发明了ON的冒泡排序冒泡排序BubbleSort。这种算法十分简冒泡排序单,而且只需要常数的额外的空间,所有一直以来是初学者一定要了解的排序算法。后来有人发明了基于交换的快速排序快速排序QuickSort,它的平均时间界为ONlogN。迄今为止,快速排快速排序序是一般实际应用中效果最好的算法。
2
在基于选择的排序算法中,人们最早发明了ON的选择排序选择排序Selectio
Sort。选择排序的算选择排序法更为容易理解和实现,就是每次都从原序列中顺序查找出最小的元素,放入新的序列的下一个位置。在这种思想的引导下堆排序堆排序HeapSort被发明了。与选择排序一样,对排序仍然堆排序是每次从原序列中取出最小的元素,放在新序列的下一个位置。但是不同在于使用了堆这一数据结构,取出最小元素仅需r