排序的定义:
排序:就是重新排列表中的元素,是表中的元素满足按关键字有序的过程。
算法的稳定性:例如: 排序表中有两个元素R1和R2,其对应的关键字相同即key1=key2,且在排序前R1排在R2的前面,若使用某一排序算法后,R1仍然排在R2前面,则称这个排序算法是稳定的。
算法复杂度分为时间复杂度和空间复杂度。
其作用:时间复杂度是指执行这个算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。
时间和空间(即寄存器)都是计算机资源的重要体现,而算法的复杂性就是体现在运行该算法时的计算机所需的资源多少。
排序算法可分为两类:内部排序和外部排序
内部排序:是指在排序期间元素全部存放在内存中的排序
外部排序:是指在排序期间元素无法全部存放在内存中的排序,必须在排序的过程中根据要求不断地在内存、外存之间移动的排序。
排序算法可分为五大类并且全是内部排序:
插入排序:包括 直接插入排序、折半插入排序、希尔排序
交换排序:包括 冒泡排序、快速排序
选择排序:包括 简单选择排序、堆排序
归并排序、基数排序
外排序:多路归并排序