#排序算法
内排序(在内存中进行排序):冒泡排序,插入排序,选择排序,快速排序,堆排序,希尔排序
插入排序 O(n^2)
定义:假定第一个元素有序,然后将后面的元素按照顺序依次插入前面的序列,使数列依然有序
选择排序 O(n^2)
定义:在一组无序的数列中,找到比第一个值小的值与第一个值交换,然后下一次从第二值开始找到比其小的与其交换,直到数列跑完。
冒泡排序 O(n^2)
定义:依次相邻的数进行比较,若左值比右值大则交换相邻两值
快速排序 O(n*logn)
内排序(在内存中进行排序):冒泡排序,插入排序,选择排序,快速排序,堆排序,希尔排序
插入排序 O(n^2)
定义:假定第一个元素有序,然后将后面的元素按照顺序依次插入前面的序列,使数列依然有序
选择排序 O(n^2)
定义:在一组无序的数列中,找到比第一个值小的值与第一个值交换,然后下一次从第二值开始找到比其小的与其交换,直到数列跑完。
冒泡排序 O(n^2)
定义:依次相邻的数进行比较,若左值比右值大则交换相邻两值
快速排序 O(n*logn)
定义:在一组无序的数列中,以中间(n/2)的值为基准值,遍历数列,将比其小的放在左边,比其大的放在右边。左右的值找到后同时换,然后递归从中间的中间再次开始,直到中间的值的范围为1.不稳定