对输入序列敏感的排序算法:冒泡、插入、希尔排序
-
冒泡排序(Bubble Sort):冒泡排序是一种简单的排序算法,它会对相邻的元素进行比较,如果顺序不对就交换位置,重复多次直到排序完成。冒泡排序的关键词比较次数与记录的初始排列次序有关,最坏情况下需要进行N*(N-1)/2次比较,而最好情况下只需要进行N-1次比较。
-
插入排序(Insertion Sort):插入排序将待排序的数组分为已排序和未排序两个部分,每次将未排序的第一个元素插入到已排序部分中的合适位置,重复多次直到排序完成。插入排序的关键词比较次数与记录的初始排列次序有关,最坏情况下需要进行N*(N-1)/2次比较和移动,而最好情况下只需要进行N-1次比较和移动。
-
希尔排序(Shell Sort):希尔排序是插入排序的一种改进算法,它通过插入排序的方式对数组进行间隔分组排序,然后不断缩小间隔直到最后变为1,最终完成排序。希尔排序的关键词比较次数与记录的初始排列次序有关,不同的间隔序列会影响排序的效率,理论上最优的间隔序列是未知的。
原文地址: https://www.cveoy.top/t/topic/n1Ds 著作权归作者所有。请勿转载和采集!