这是一个数据结构二叉树的相关问题

二叉树的递归遍历,其实是采用栈结构,因为递归就是栈里进行操作嘛。
二叉树的非递归遍历,也采用了栈结构,我分不清两个遍历方法,哪个更好,求解

递归遍历代码简洁,首先推荐
非递归遍历,不受递归深度限制,效率高,如果前者性能遇到问题,再用这个办法,

这也是一个原则性,你应该了解

编写程序的一般做法是,先用最简单的方式实现出来,再对性能做优化。
或者说“过早优化是罪恶之源”

递归函数就是栈结构的.......

1.递归采用函数栈来保存信息,说白了就是自己调用自己,直到遍历完所有的结点。递归的方式简单明了,可读性强。

2.非递归需要另外申请数据结构来代替函数栈,用循环的方式将结点遍历一遍。优点:效率高。

两者的区别在于递归遍历时一遍遍的调用自己,若二叉树很深,那遍历时占用内存就越多,而非递归遍历方式只是循环一遍历一遍,不会存在这样的问题。