首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
算法学习
wangls
创建于2022-02-18
订阅专栏
一边学习,一边敲,迟早我能敲进大厂!
暂无订阅
共10篇文章
创建于2022-02-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JS实现归并排序
归并排序其实使用的就是分治思想,想对一组很大的数据进行排序时,可以将这组数据拆分成很多组小数据,直到每个组只有一个元素,接下来就针对这些小组,按照顺序合并。 时间复杂度:O(nlogn) 空间复杂度:
JS实现希尔排序的一种方法
希尔排序其实就是对插入排序的优化。 首先插入排序要想效率高,需要两个前提条件:元素少、基本有序。 希尔排序就是利用这点。所以对原数组进行增量分组,然后对每个组进行插入排序。
js实现插入排序的一种方法
插入排序的思想是:将数据分为有序区和无序区,每次从无序区中取出一个元素,然后和有序区从后往前挨个比较,比该元素大的往后移。直到找到比该元素小的元素。那么这个元素就插入到他的后面就行。 时间复杂度O(n
js实现选择排序的一种方法
首先看一下冒泡排序:每一轮冒泡,需要两两比较,这样每个元素交换的次数就太多了。而选择排序是每次从中拿出最小或最大那个元素,直接换到最后一位或第一位。 因为是原地排序,所以空间复杂度是O(1); 选择排
js实现基数排序的一种方法
基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序。最后的次序就是高优先级高的在前,高优先级相同的
js实现桶排序的一种方法
第一步:计算出差值; 第二步:创建空桶; 第三步:把原始数组的元素分配到各个桶中; 第四步:分别对各个桶做排序; 第五步:合并排序后的桶,输出排序结果。 核心思想:将要排序的数据分到几个有序的桶里,每
js实现计数排序的一种方法
时间复杂度:O(n) 空间复杂度:O(n) 局限性: 1.当数列最大值和最小值差距过大 不适合。 2.数列元素不是整数 不适合 第一步:找出数组中最大值和最小值,然后计算出差值d。 第二步:新建一个长
js实现堆排序的一种方法
```js function heapSort(arr) { // 把无序数组构建成最大堆 for (let i = (arr.length - 2) / 2; i >= 0; i--) { down
js实现冒泡排序的三种方法
方法一 相邻元素两两比较,当一个元素大于右侧相邻元素时,交换它们的位置,当一个元素小于或等于右侧相邻元素时,位置不变。 方法二 这是对方法一的优化版,增加有序标记,如果某一轮比较,一个元素都没有交换就
js实现快速排序的两种方法
快速排序是利用分治的思想,首先找到一个基准元素,然后以基准元素为中心,左边站矮个,右边站高个。然后递归左右两边,最终实现排序。时间复杂度是 O(nlogn)。