摘要: 树 //分层数据抽象 //JS 中没有树,用Array和Object构建树 //DOM,级联选择,树形控件 // 深度优先遍历:访问根节点、对根节点进行深度优先遍历,广度优先遍历 bfs //bfs const tree = { val: 'a', children: [ { val: 'b', c 阅读全文
posted @ 2021-12-13 23:09 三千山人 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 栈 //JS中没有栈,但可以用数组array进行实现 const stack = []; stack.push(1); stack.push(2); const item1 = stack.pop(); const item2 = stack.pop(); //后进先出场景 //十进制转二进制 // 阅读全文
posted @ 2021-12-13 22:23 三千山人 阅读(58) 评论(0) 推荐(0) 编辑
摘要: //JS中没有队列,但可以用数组array进行实现 const queue = []; queue.push(1); queue.push(2); const item1 = queue.shift(); const item2 = queue.shift(); //先进先出场景 //食堂排队打饭 阅读全文
posted @ 2021-12-13 22:20 三千山人 阅读(28) 评论(0) 推荐(0) 编辑
摘要: //JS没有链表,可以用object 模拟链表 const a = { val: 'a'}; const b = { val: 'b'}; const c = { val: 'c'}; const d = { val: 'd'}; a.next = b; b.next = c; c.next = d 阅读全文
posted @ 2021-12-13 22:19 三千山人 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 堆 特殊的完全二叉树 所有节点大于等于它的子节点 JS中常用数组表示堆 - 左侧子节点:2*index+1; - 右侧子节点:2*index+2 - 父节点:(index-1)/2 用处:快速找出最大值最小值;找出第K个最大最小元素; // #### 堆 // 特殊的完全二叉树 // 所有节点大于等 阅读全文
posted @ 2021-12-13 22:17 三千山人 阅读(26) 评论(0) 推荐(0) 编辑