
算法
桃子阿哥
希望能成为一个很有钱的老板, 可以让我的员工有双休, 有六险一金, 朝九晚五, 偶尔加班, 每个人带着希望去工作
展开
-
JS数据结构与算法入门(六) - 数据结构之“字典”
1. 字典是什么?与集合类似,字典也是一种存储唯一值的数据结构,但它是以键值对的形式来存储ES6中有字典,名为 Map字典的常用操作:键值对的增删改查const m = new Map()// 增m.set('a','aa')// 删m.delete('a')或m.clear()// 改 就是再次赋值盖住m.set('a','hh')// 查m.get('a')...原创 2020-09-03 22:37:12 · 117 阅读 · 0 评论 -
JS数据结构与算法入门(五) - 数据结构之“集合”
1. 集合是什么?一种无序且唯一的数据结构集合要求它的元素必须唯一, 不可重复ES6中有集合, 叫Set集合的常用操作:去重, 判断某元素是否在集合中, 求交集代码演示:// 去重const arr = [1,1,2,2];//const arr2 = new Set(arr);// 实例化一个set对象, 传入arr, // 会得到一个1和2组成的集合, 但是最终想要的是一个数组// 所以需要把集合转化为数组 [...new Set(arr)]const arr2 = [..原创 2020-08-31 13:35:36 · 155 阅读 · 0 评论 -
JS数据结构与算法入门(四) - 数据结构之“链表”
1. 链表是什么?多个元素组成的列表元素存储不连续, 用next指针连在一起数组: 增删非首尾元素时往往需要移动元素链表: 增删非首尾元素, 不需要移动元素, 只需要改动next的指向即可JS中没有链表, 但是可以用Object模拟链表第一个操作const a = { val:'a' };const b = { val:'b' };const c = { val:'c' };const d = { val:'d' };//目前四个存储都是独立的, 没关联//下面把他们连在一起a.原创 2020-08-22 23:17:28 · 163 阅读 · 0 评论 -
JS数据结构与算法入门(三) - 数据结构之“队列”
1. 队列是什么?一个先进先出的数据结构JS中没有队列这种数据结构, 但可以用数组实现队列的所有功能const quene = [];quene.push(1);quene.push(2);const item1 = quene.shift();const item2 = quene.shift();2. 什么场景下用队列?需要先进先出的场景比如: 食堂排队打饭(先进先出, 保证次序), JS异步中的任务队列(JS单线程, 无法同时处理异步中的并发任务), 算法题计算最近请求次数原创 2020-08-22 16:54:24 · 155 阅读 · 0 评论 -
JS数据结构与算法入门(二) - 数据结构之“栈”
1. 栈是什么?一个后进先出的数据结构JS中没有栈, 但可以用Array实现栈的所有功能const stack = []stack.push(1);stack.push(2);const itme1 = stack.pop();const itme2 = stack.pop()2. 什么场景下用栈?需要后进先出的场景比如: 十进制转二进制, 判断字符串的括号是否有效, 函数调用堆栈…十进制转二进制100011 后出来的余数反而要排到前面把余数依次入栈, 然后再出栈, 就可原创 2020-08-18 18:24:01 · 263 阅读 · 1 评论 -
JS数据结构与算法入门(一) - 数据结构与算法简介
1. 数据结构与算法简介数据结构: 计算机存储, 组织数据的方式, 就像锅碗瓢盆算法: 一系列解决问题的清晰指令, 就像食谱两者关系: 程序 = 数据结构 + 算法将要学习的数据结构:有序的: 栈 , 队列 , 链表无序的: 集合 , 字典树 , 堆 , 图将要学习的算法:链表: 遍历链表, 删除链表节点树, 图 : 深度 / 广度优先遍历数组: 冒泡 / 选择 / 插入 / 归并 / 快速排序 , 顺序 / 二分搜索2. 时间复杂度和空间复杂度时间复杂度:一个函数,原创 2020-08-17 20:25:30 · 219 阅读 · 0 评论