
排序算法
文章平均质量分 53
@小玉同学
这个作者很懒,什么都没留下…
展开
-
js实现快速排序
js实现快速排序基本思想快速排序是对冒泡排序的改进,基本思想是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小,然后再按此方法对两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据的有序。推导过程动画演示代码实现let arr = [7,6,8,1,2,0,4,3,9,5];function quickSort(arr,left,right){ let l = left;//左下标 let r = right;/原创 2022-05-06 20:36:14 · 2160 阅读 · 0 评论 -
js实现希尔排序
希尔排序希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法,希尔排序也是一种插入排序,他是简单插入排序经过改进后的一个更高效的版本,也成为缩小增量排序。基本思想把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个数组恰好被分成一组,算法便终止。动画演示逐步推导过程let arr = [9,5,8,7,1,4,6,3,2,0];// shell排序function shellSort(arr){原创 2022-05-04 16:04:18 · 1718 阅读 · 1 评论 -
JS实现直接插入排序
直接插入排序插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。1. 基本思想插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反原创 2022-04-19 21:00:37 · 1010 阅读 · 0 评论 -
js实现选择排序
js实现选择排序原创 2022-04-18 17:54:43 · 1761 阅读 · 2 评论 -
js实现冒泡排序
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已原创 2022-04-13 23:00:36 · 1466 阅读 · 0 评论