![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
MrDeng_web2018
这个作者很懒,什么都没留下…
展开
-
链表的实现
链表是一个线性结构,同时也是一个天然的递归结构。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的增删改查 <script> // 链的基本实现 // 此处声明的是node节点的构造函数 class Node { constructor(v, next) { this.value = v; this.next = next; } } // 链表原创 2021-01-11 22:43:01 · 171 阅读 · 0 评论 -
前端常用算法----时间复杂度为O(nlogN)的排序算法
时间复杂度和空间复杂度时间维度:是指执行当前算法所花费的时间,我们通常用「时间复杂度」来描述。空间复杂度:是指执行当前算法需要占用多少内存空间,我们通常用「空间复杂度」来描述。时间维度O(n)for(var i = 0; i < n; i++) { // .....}O(logN)while(i < n) { i = i * 2; // ...}O(n²)for(var i = 0; i < n; i++) {原创 2020-10-31 17:08:02 · 958 阅读 · 0 评论 -
时间复杂度为O(n²)的排序算法--(冒泡排序,插入排序)
前端排序算法冒泡排序时间复杂度: O(n²)空间复杂度: O(1)class SortArr { constructor(arr) { this.arr = arr; } sort() { let len = this.getLength() for (var i = 0; i < len; i++) { for (var j = 0; j < len - i; j++) {原创 2020-10-31 16:24:49 · 207 阅读 · 0 评论 -
前端常用算法---堆排序-最大堆的添加与删除
@前端常用算法—堆排序-最大堆的添加与删除堆排序的实现流程堆排序时间复杂度: O(nlogN)空间复杂度: O(n)我们以面向对象的方式对堆排序进行分析与实现// 最大堆的添加 删除 排序function swap(arr, index1, index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp;}class Heap { constructor()原创 2020-10-31 10:40:59 · 340 阅读 · 0 评论