排序是非常基本的一个操作。排序也分许多方法,可能会有人想,为什么不用最一种最快最好的方法而非要搞出那么多方法呢?
因为各种方法有各种方法的用处,适用于不同的情况。
排序分:内排序 和 外排序
内排序:在排序整个过程中,所有的欲排序记录都存放在内存中。
外排序:欲排序的个数多,不能同时放置内存,整个排序过程需要在内外存之间多次交换。
内排序:在排序过程中,所有元素调到内存中进行的排序,称为内排序。内排序是排序的基础。内排序效率用比较次数来衡量。按所用策略不同,内排序又可分为插入排序、选择排序、交换排序、归并排序及基数排序等几大类。
外排序:在数据量大的情况下,只能分块排序,但块与块间不能保证有序。外排序用读/写外存的次数来衡量其效率。
三个方面影响排序:
1。时间
2。空间
3。算法复杂度