Java教程

【学习打卡】第18天 数据结构和算法

本文主要是介绍【学习打卡】第18天 数据结构和算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

遍历json的所有值并输入响应的路径

利用深度优先遍历的思路来遍历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, [])

小结

1、树是一种分层的数据抽象模型,普通树可以用Object和Array来表示
二叉树可以用Object来表示

2、树的深度优先遍历和树的广度优先遍历
(1)深度优先遍历:访问根节点,对根节点的children进行深度优先遍历
(2)声明一个队列,根节点放入队列,然后根节点出队,根节点的children入队,重复出队入队的操作,直至队列为空

3、二叉树的先中后序遍历
(1)先序遍历的访问顺序是 根 —> 左 —> 右
(2)中序遍历的访问顺序是 左 —> 根 —> 右
(3)后序遍历的访问顺序是 左 —> 右 —> 根
(4)先中后序的的递归实现和非递归实现

这篇关于【学习打卡】第18天 数据结构和算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!