首页 > 试题广场 >

从根开始按层次(第0层-第1层-第2层)遍历一颗二叉树,

[单选题]
从根开始按层序遍历一颗二叉树,需要使用()作为辅助数据结构
  • heap
  • queue
  • binary tree
  • stack
仔细想一下,先将根结点A入队,再将A出队(遍历到A),然后将A的所有子结点(假设为B、C)入队,接着,B出队(遍历到B),将其所有子结点入队,接下来出队的自然是C(遍历到C),然后将C的所有子结点入队,这样,就遍历了两层。接下来出队的自然是B的第一个子结点(遍历到该节点),开始第三层的遍历……可见,我们需要一个先进先出的结构,自然选择队列。
发表于 2015-12-05 09:20:19 回复(0)
广度优先遍历用队列
深度优先遍历用栈
发表于 2017-04-09 16:14:38 回复(1)
B队列,广度优先
堆栈实现深度优先遍历
发表于 2015-12-05 19:11:06 回复(0)

对图的深度优先遍历及树的先序遍历使用栈,对图的广度优先遍历及树的层次遍历使用队列。

总结:深先栈,广层队。

发表于 2018-08-06 22:59:23 回复(0)
从图中看出,先进先出,所以用队列!
总结就是:广度优先用队列,深度优先用栈!
发表于 2017-06-29 11:13:12 回复(0)
宽度优先搜索(BFS)
发表于 2015-12-28 18:41:59 回复(0)
Heap(堆)
queue(队列)
stack(栈)
binary tree(二叉树)
发表于 2023-09-22 20:16:59 回复(0)