【學(xué)習(xí)打卡】第18天 數(shù)據(jù)結(jié)構(gòu)和算法
標(biāo)簽:
算法與數(shù)據(jù)結(jié)構(gòu)
遍历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)先中后序的的递归实现和非递归实现
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)