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

上一篇下一篇

猜你喜欢

热点阅读