时间然复杂度(o(n^2)))的排序算法
1.冒泡排序;时间复杂度(0(n^2))
实现过程:
从头开始两两第一个数进行交换
2.选择排序;时间复杂度(0(n^2))
实现过程:
每次在数字中找到最小的,然后与第一个数进行交换
3.插入排序;时间然复杂度(o(n^2)))
实现过程:
每次和前面的数进行比较,后是否交换位置
时间然复杂度(o(n*logn))
1.归并排序
实现过程:
把数分成区间,在区间内排序,然后合并
2.快速排序
实现过程:
随机选一个数,小于它的数放在他的左边,大于它的数放在他的右边,然后递归调用快速排序的过程
3.堆排序
实现过程:
建立一个大堆,然后调整大堆,把大堆的堆顶元素放在数组最后,依次这样做
4.希尔排序
实现过程:
每次调整步长,与前面的数进行比较,每次比较是否调整位置,希尔排序是插入排序的改良