1.直接插入排序:将待排序的序列的每个元素拿出来依次排序(比较大小),特点算法简洁,容易实现,时间复杂度n2
其他插入排序:折半插入排序,2-路插入排序,希尔排序(缩小增量排序)
希尔排序:将一个大的序列分割成若干个小的子序列进行直接排序,待整个序列中的记录‘基本有序’的时候在对整体进行一次直接排序,时间复杂度为:n3/2
2快速排序:
冒泡排序:将第一个关键字与第二个比较,若为逆序则交换然后比较第二个与第三个如此循环,每趟只让一个到达准确位置,每趟内进行冒泡
时间复杂度:n2
快速排序:选择一个关键字先进性一次排序,让左边都小于它,右边都大于它,然后递归的在左右两个部分分别进行快速排序,时间复杂度:nlogn
选择排序:每趟在n-i+1个记录中选择最小的记录作为有序序列中的第i个值,时间复杂度n2
堆排序:利用完全二叉树堆顶元素始终是最大值或最小值,输出堆顶元素后重新排列堆,依次得到最小值,时间复杂度nlogn
3.归并排序:
2-路归并排序:不断地两两归并,直到全部排完,时间复杂度nlogn
排序
最新推荐文章于 2022-04-29 23:24:15 发布