先序的非递归实现可以用队列实现么?

来源:6-10 二分搜索树的层序遍历

qq_萌新_4

2020-06-09

先序遍历非递归,只是需要一个数据结构将左右子树的节点进行存储,并按照一定顺序进行遍历,按照我的理解,只要有能存储2个数据的数据结构都可以进行非递归。但是广度优先遍历,就必须采用排队的形式,不然无法保证同一层级排列在一起。

写回答

1回答

liuyubobobo

2020-06-10

先序遍历无法只使用一个队列实现。或者你的想法是怎样的?实际用代码试试看?


但是由于我们其实可以使用队列包装出栈的功能,所以广义上说,说我们能用队列实现先序遍历也没有错。


关于使用队列实现栈,可以参考这里:https://leetcode-cn.com/problems/implement-stack-using-queues/


继续加油!:)

0
3
qq_萌新_4
回复
liuyubobobo
嗷嗷 懂了
2020-06-10
共3条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程