![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
文章平均质量分 61
99Kies
Linux,Docker/Kubernetes,FISCO BCOS,Substrate,云计算/区块链/分布式,Go & Python,拾火柴精神探索者,Open Source Developer。
展开
-
Golang(排序篇) —— 归并排序
Golang(排序篇) —— 归并排序Golang(排序篇) —— 归并排序归并排序思想复杂度Golang代码参考链接关于作者Golang(排序篇) —— 归并排序归并排序思想归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。归并排序是用分治思想,分治模式在每一层递归上有三个步骤:原创 2021-03-05 11:48:16 · 2370 阅读 · 1 评论 -
Golang(排序篇) —— 快速排序
Golang(排序篇) —— 快速排序Golang(排序篇) —— 快速排序快速排序思想复杂度Golang代码参考链接关于作者Golang(排序篇) —— 快速排序快速排序思想1.先从数列中取出一个数作为基准数。(任意位置)2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。3.再对左右区间重复第二步,直到各区间只有一个数。重复第二步,直到所有元素均排序完毕。复杂度时间复杂度: O(nlogn)空间复杂度:最坏情况 —— O(n)最优情况 —— O(lo原创 2021-03-05 11:44:17 · 2525 阅读 · 3 评论 -
Golang(排序篇) —— 选择排序
Golang(排序篇) —— 选择排序Golang(排序篇) —— 选择排序选择排序思想时间复杂度Golang代码参考链接关于作者Golang(排序篇) —— 选择排序选择排序思想在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。时间复杂度O(n^2)Golang代码package mainimport ( "fmt")func selectSort(原创 2021-03-05 11:42:27 · 371 阅读 · 1 评论 -
Golang(排序篇) —— 冒泡排序
Golang(排序篇) —— 冒泡排序Golang(排序篇) —— 冒泡排序冒泡排序原理复杂度Golang代码参考链接关于作者Golang(排序篇) —— 冒泡排序冒泡排序原理冒泡排序算法的原理如下:比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。复杂度最理想情况:O(原创 2021-03-05 11:41:37 · 500 阅读 · 2 评论