当前位置: 首页 > news >正文

有哪些做微博长图网站微信分销系统多少钱

有哪些做微博长图网站,微信分销系统多少钱,有域名和空间怎么做网站,网站备案 游戏近段时间去面试的时候,被面试官问到如何遍历查询一个颗树的时候,可能最近自己看了数据结构的书之后,隐隐约约就想到二叉树的三种排序(前序、中序、后序),但是当时自己没有想起这三种排序的名字,…

近段时间去面试的时候,被面试官问到如何遍历查询一个颗树的时候,可能最近自己看了数据结构的书之后,隐隐约约就想到二叉树的三种排序(前序、中序、后序),但是当时自己没有想起这三种排序的名字,只是回答说好像有三种,但是当时面试官好像突然明白了,说你是不是想说前序、中序、后序,我回答说是的,然后面试官淡淡回了一句说不是,后面我回去查了下,才知道不是,突然间顿悟了,不就是我们经常所说的递归吗?感觉自己回答到点子上面
但是只回递归的话,无法加分的,从网上查了之后,才知道除了递归,还有循环,再拓展一点,大体分为深度优先遍历和广度优先遍历两种方法,下面我们逐一讲解。
我们正常的思维或许第一采取的就是深度优先遍历,然后用递归实现,如下:
先定义一颗树:

let tree = [
{id: '1',name: '节点1',children: [{id: '1-1',name: '节点1-1'}]
},
{id: '2',name: '节点2',children: [{id: '2-1',name: '节点2-1'},{id: '2-2',name: '节点2-2',children: [{id: '2-2-1',name: '节点2-2-1'}]}]
},
{id: '3',name: '节点3'
}
]

然后用递归实现:

function treeIterator(tree, func) {tree.forEach((node) => {func(node)node.children && treeIterator(node.children, func)})
}

用循环实现的方法:

function treeIterator(tree, func) {let node, curTree = [...tree]while ((node = curTree.shift())) {func(node)node.children && curTree.unshift(...node.children)}
}

打印出来:

节点1 节点1-1 节点2 节点2-1 节点2-2 节点2-2-1 节点3...

如果再问你用了什么数据结构,怎么回答呢?
答案:用了,先进后出!
广度优先遍历
循环实现:

function treeIterator(tree, func) {let node, curTree = [...tree]while ((node = curTree.shift())) {func(node)node.children && curTree.push(...node.children)}
}

打印出来:

节点1 节点2 节点3 节点1- 1节点2-1 节点2-2 节点2-2-1...

继续问用了什么数据结构?
答案:用了队列,先进先出!!

参考博客:https://blog.csdn.net/w544924116/article/details/119712713?spm=1001.2014.3001.5506

http://www.yayakq.cn/news/519823/

相关文章:

  • wordpress 图片站主题网站和新媒体建设管理
  • 太原建站塔山双喜h5网站开发费用
  • 深圳网站制作就找兴田德润wordpress 开发视频
  • 大连企业网站建设定制自助建站seo
  • 导航网站 cmsacaa网页设计师
  • 一个网站做app做棋牌网站违法吗
  • 平台类网站建设方案炫彩发光字制作
  • 低价自适应网站建设做彩票网站违法的吗
  • 站长之家是干什么的如何用wp做企业网站
  • 页面设计制作网站源码子商务网站建设实践
  • 写作网站云服务
  • 招聘网站的销售怎么做建设企业网站管理系统目的
  • 宁波网站推广联系方式长沙网络公司网站
  • 网站开发前台后台怎么交互网站元素优化 移动站
  • 珠海网站建设制作怎么收费游戏界面设计图片
  • 做网站什么颜色和蓝色配做的最好的快餐网站
  • 网站推广排名服务百度一下首页官网
  • 天津网站建设培训班如何查询网站的点击量
  • 电商网站建设策划书企业网站的首页
  • 苏州设计网页网站开化网站建设
  • 建设工程其它费计算网站网站案例
  • 利用路由器做网站做地产设计的公司
  • 青岛科友网站建设网络公司河南省建设厅人员名单
  • 图片比较多的网站怎么做衡阳网站建设公司地址
  • 长春省妇幼网站做四维网站建设公司长沙
  • 做传奇网站云服务器地域改选哪里韶关市网站建设公司
  • 仿win8网站wordpress带个人充值中心
  • dede网站漏洞环球广贸WordPress
  • 青海城乡住房建设厅网站北京推广营销
  • 合肥比较好的网站制作网页传奇排名