深度优先遍历DFS 非递归算法理解与Java实现(TreeNode树状结构非数组输入)
问题
给出一个类TreeNode,如何对其进行非递归的DFS进行遍历?
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
思路
数据结构
非递归进行图的遍历会用到两种数据结构,栈与队列。考虑到两种数据结构的特性,不难想出栈更适合深度优先遍历,队列更适合广度优先遍历。
算法细节
针对深度优先遍历算法这里不多加赘述了,总结起来DFS就是一
原创
2021-10-05 15:09:38 ·
1274 阅读 ·
4 评论