方法论:JS数据结构和算法
HTML理论
zpfnext
这个作者很懒,什么都没留下…
展开
-
什么是图?
图是网络结构的抽象模型,是一组由边连接的节点JS中没有图,但是可以通过Object和Array构建图图的表示方法:邻接矩阵、邻接表…原创 2020-10-06 14:47:38 · 509 阅读 · 0 评论 -
前端与树:遍历JSON的所有节点值(深度优先遍历)
const json = { a: {b: {c: 1}}, d: [1,2]};const dfs = (n,path) => { console.log(n,path) Object.keys(n).forEach(k => { dfs(n[k],path.concat(k)) })}dfs(json,[])原创 2020-10-06 14:36:55 · 540 阅读 · 0 评论 -
二叉树的后序遍历
后续遍历算法口诀:对根节点的左子树进行后续遍历对根节点的右子树进行后续遍历访问根节点const bt = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null, }, right: { val: 5, left: null原创 2020-10-05 23:26:42 · 103 阅读 · 0 评论 -
二叉树的中序遍历
对根节点的左子树进行中序遍历。访问根节点。对根节点的右子树进行中序遍历。const bt = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null, }, right: { val: 5, left: null,原创 2020-10-05 23:05:39 · 124 阅读 · 1 评论 -
二叉树的先序遍历
先序遍历算法口诀访问根节点;对根节点的左子树进行先序遍历;对根节点的右子树进行先序遍历。const bt = { val: 1, left: { val: 2, left: { val: 4, left: null, right: null, }, right: { val: 5, left: nu原创 2020-10-05 21:46:43 · 174 阅读 · 0 评论 -
二叉树是什么?
树中每个节点最多只能有两个子节点。在JS中通常用Object来模拟二叉树。原创 2020-10-05 22:41:58 · 118 阅读 · 0 评论 -
广度优先遍历
什么是广度优先遍历先访问离根节点最近的节点深度优先遍历算法口诀新进一个队列,把根节点入队;把对头出队并访问;把队头的children挨个入队;重复第二三步知道队列为空。const tree = { val: 'a', children: [ { val: 'b', children: [ { val: 'd', .原创 2020-10-05 16:21:27 · 89 阅读 · 0 评论 -
深度优先遍历
什么是深度优先遍历深度优先遍历:尽可能深的搜索树的分支深度优先遍历算法口诀访问根节点;对根节点的children挨个进行深度优先遍历。const tree = { val: 'a', children: [ { val: 'b', children: [ { val: 'd', children: [].原创 2020-10-05 11:10:30 · 479 阅读 · 0 评论