二叉树(1)- 深度优先遍历

参考

🍎 1 从二叉搜索树到平衡二叉搜索树

二叉搜索树

✨二叉树的存储方式:

链式存储:链表

顺序存储:数组 -> 若用数组存储,注意如果节点i有左右孩子,那么左孩子是2 * i,右孩子是2 * i + 1。同理,如果节点i有双亲,那么双亲是 i >> 2。

🍎 二叉树的遍历方式

1)深度优先遍历:先往深走,遇到叶子节点再往回走。

2)广度优先遍历:一层一层的去遍历。

🍃进一步具体分类:

✨记忆(前中后序遍历)

✨二叉树和栈、队列的联系:

栈其实就是递归的一种实现结构,也就是说(二叉树的)前中后序遍历的逻辑其实都是可以借助栈使用非递归的方式来实现的。

而广度优先遍历的实现一般使用队列来实现,这也是队列先进先出的特点所决定的,因为需要先进先出的结构,才能一层一层的来遍历二叉树。

🍎 二叉树的递归遍历

(略)


🍎 二叉树的迭代遍历

1、144. 二叉树的前序遍历

用栈实现前序遍历(中左右)

2、94. 二叉树的中序遍历

用栈实现中序遍历(左中右)

3、145. 二叉树的后序遍历

用栈实现后序遍历

🍎 统一的迭代遍历方法

参考(to be continued...)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容