方法论:JS数据结构和算法
HTML理论
zpfnext
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是图?
图是网络结构的抽象模型,是一组由边连接的节点 JS中没有图,但是可以通过Object和Array构建图 图的表示方法:邻接矩阵、邻接表…原创 2020-10-06 14:47:38 · 594 阅读 · 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 · 612 阅读 · 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 · 164 阅读 · 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 · 198 阅读 · 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 · 251 阅读 · 0 评论 -
二叉树是什么?
树中每个节点最多只能有两个子节点。 在JS中通常用Object来模拟二叉树。原创 2020-10-05 22:41:58 · 167 阅读 · 0 评论 -
广度优先遍历
什么是广度优先遍历 先访问离根节点最近的节点 深度优先遍历算法口诀 新进一个队列,把根节点入队; 把对头出队并访问; 把队头的children挨个入队; 重复第二三步知道队列为空。 const tree = { val: 'a', children: [ { val: 'b', children: [ { val: 'd', .原创 2020-10-05 16:21:27 · 144 阅读 · 0 评论 -
深度优先遍历
什么是深度优先遍历 深度优先遍历:尽可能深的搜索树的分支 深度优先遍历算法口诀 访问根节点; 对根节点的children挨个进行深度优先遍历。 const tree = { val: 'a', children: [ { val: 'b', children: [ { val: 'd', children: [].原创 2020-10-05 11:10:30 · 545 阅读 · 0 评论
分享