广度优先遍历,可以用递归的方法吗?

来源:8-10 【连环问】深度优先遍历可以不用递归吗

Charles_So_网页开发

2022-04-16

const tree = {
  val: 'a',
  children: [
    {
      val: 'b',
      children: [
        {
          val: 'd',
          children: [
            {
              val: 'h',
              children: [],
            },
            {
              val: 'i',
              children: [],
            },
          ],
        },
        {
          val: 'e',
          children: [
            {
              val: 'j',
              children: [],
            },
            {
              val: 'k',
              children: [],
            },
          ],
        },
      ],
    },
    {
      val: 'c',
      children: [
        {
          val: 'f',
          children: [
            {
              val: 'l',
              children: [],
            },
            {
              val: 'm',
              children: [],
            },
          ],
        },
        {
          val: 'g',
          children: [
            {
              val: 'n',
              children: [],
            },
            {
              val: 'o',
              children: [],
            },
          ],
        },
      ],
    },
  ],
};

求教老师,这个数据结构,能否用递归的方式去做广度优先遍历?我想了好久都没想出来

用队列是我是OK的,队列就适合这种明确有序的遍历

图片描述

写回答

2回答

香饽饽0

2022-09-22

深度优先才考虑递归转成迭代实现,这是一种性能上的优化。

本来就是迭代的广度优先改成递归,没有这个必要吧?

0
0

双越

2022-04-16

0
1
Charles_So_网页开发
java没看懂,老师能写个js版吗?
2022-04-16
共1条回复

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1512 学习 · 642 问题

查看课程