排序算法
文章平均质量分 53
毛瑞彬
我们总能在致郁中感受勇气和希望。会发现,所谓的那些绝望与痛苦只是黎明前的黑暗。践行初衷,不弃不悔。
github地址:https://github.com/maoruibin00
慕课网地址:http://www.imooc.com/article/20657
展开
-
对数据结构和算法的总结和思考(一)--概览
前段时间陆续看了各种排序算法和查找算法,觉得不过瘾,很多东西不系统,所以网上找了一本书程杰的《大话数据结构》。这段时间认真学习了全本内容,收获颇多,想着就总结一下这段时间所学,所思,权当给大家一个借鉴吧。先从排序算法说起现在流行的排序算法如果按类型分大致分为五大类:选择排序类、插入排序类、交换排序类、归并排序类和计数排序类,各有优劣,每种算法的运用常见不一样,但总体来说,交换排序类中的快速排序表现原创 2017-10-26 09:38:47 · 556 阅读 · 0 评论 -
对数据结构和算法的总结和思考(二)--简单排序算法
冒泡排序提起简单排序就不得不先提冒泡排序,为何,简单。只有简单的方法才有可能成为最优秀的方法,无疑,冒泡排序已经具备了简单的潜质。冒泡排序的实现原理是循环然后挨个比较相邻元素,不废话,直接上代码:先附上一个swap.js的代码:function swap(arr, i, j) { let temp = arr[i]; arr[i] = arr[j]; arr[j] = te原创 2017-10-26 09:39:48 · 237 阅读 · 0 评论 -
对数据结构和算法的总结和思考(三)--希尔排序
希尔排序是第一个时间复杂度突破O(n^2)的高级算法。顾名思义,这就是被希尔发现的一种排序算法。算法本质为分组插入排序。具体实现为:let count = 0;function shellSort(arr) { let gap = 1, times = 2; while(gap < arr.length / times) { gap = gap * times +原创 2017-10-26 09:40:30 · 253 阅读 · 0 评论 -
对数据结构和算法的总结和思考(六)--计数排序
计数排序是我所知排序里面速度最快得排序方式(元素分布均匀),也是所学里面第一种不需要比较的排序方式。那么现在问题来了,既然这个排序方式这么棒,但是为什么有很多小伙伴都没有听说过~这就不得不提这个排序算法的缺陷了,它只支持整数排序,是不是很尴尬,是不是很难受~,下面我就来分享下这个排序算法。核心思想: 计数排序的基本思想是对于给定的输入序列中的每一个元素x,确定该序列中值小于x的元素的个数(此处并非原创 2017-10-26 09:42:49 · 279 阅读 · 0 评论