排序算法一:插入排序

关于排序的一些定义

稳定性

对于待排序表中的元素$R_i$和$R_j$,其对应的关键字相等,即$key_i=key_j$,且$R_i$在$R_j$前面。使用某一排序算法后,$R_i$仍然在$R_j$前面,则这个排序算法是稳定的。

举个🌰:对于数组[4,25,2,6,6,8,34,24],经过排序算法一排序后结果为[2,4,6,6,8,24,25,34],经过排序算法二排序后结果为[2,4,6,6,8,24,25,34]。则说明,排序算法一具有稳定性,而排序算法二不具有稳定性。

稳定性不是衡量排序算法优劣的标准,它是排序算法的一个性质。如果待排序表中的关键字不允许重复,则稳定性就无关紧要。

内部排序与外部排序

内部排序指排序期间元素全部放在内存中的排序,外部排序指排序期间无法全部同时存放在内存中,必须在排序过程中根据要求不断的在内、外存之间移动的排序。

排序算法大致可分为插入排序、交换排序、选择排序、归并排序和基数排序五大类。

阅读更多
Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×