go实现常见的8种排序算法
2020-05-15 本文已影响0人
Winnifred_
1.冒泡排序
思路:数据两两比较,第一次将最大的放到最右边,第二遍将第二大的放在倒数第二的位置,以此类推,或者也可以将最小的放在最左边,两种比较方法
冒泡排序,时间复杂度O(n^2)2.快排:
思路:找到一个基准值,进行两部分排序,小放左,打放右,在对左边和右边分别进行递归,直到再分不出左子序列和右子序列
快排3.选择排序
思路:通过n-i+1(i=1,2…n-1)个记录中选择关键字最小的作为有序序列的第i个记录,其实就是对给定的数组进行多次遍历,每次均找出最大的一个值的索引,将索引对应的与右边的数进行交换
4.插入排序
思路:从第二个开始向右遍历,放到该放的位置(比左侧的数大,比右侧的数小)
......待续更新(希尔排序/堆排序/归并排序/基数排序)
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=2gwo5cavlzsw8