树
总算把你给盼来了
现在才关注我 确实是晚了点
但没关系 来了就好
此文章是二叉树初级阶段的总结篇。
以《力扣》、《王道数据结构》作为参考资料。
实现的方法如下图的结构,以c++语言来实现。
解释:
TreeNode类:为二叉树的结点结构
TreeCreate类:是二叉树所有方法的父类,如下图
iteration类:是TreeCreate的子类,继承父类的方法如下图。
recursion类:是TreeCreate的子类,继承父类的方法如下图。
Traversal_Iteration类:是TreeCreate的子类,继承父类的方法如下图。
Traversal_recursion类:是TreeCreate的子类,继承父类的方法如下图。
Create:里面是包含四种类,是实现创建树的方法。
二叉树的实现
1 二叉树的存储结构——链式存储 2 TreeCreate类(父类) 3 Create:里面是包含四种类,是实现创建树的方法。具体实现:
前序遍历与中序遍历构建二叉树
解法1、前序遍历与中序遍历构建二叉树:
实现:
解法2、前序遍历与中序遍历构建二叉树(map):
中序遍历与后序遍历构建二叉树
解法1、中序遍历与后序遍历构建二叉树:
实现:
解法2、中序遍历与后序遍历构建二叉树:
1 recursion.h类的实现(递归) 2前序遍历构造二叉树(递归)
3二叉搜索树中的插入操作(递归)
4删除二叉搜索树中的节点
5二叉搜索树中的搜索
(递归)
6二叉树的最大深度
1 iteration.h类的实现(迭代) 2前序遍历构造二叉树(迭代)
3二叉搜索树中的插入操作(迭代)
4删除二叉搜索树中的节点(迭代)
5二叉搜索树中的搜索(迭代)
6二叉树的最大深度(迭代) Traversal_recursion.h类的实现 Tr aversal_recursion 1 前序遍历(递归) 2 中序遍历(递归 ) 3 后序遍历(递归 )注:三者的时间复杂度和空间复杂度均为O(n)。
0 1 Traversal_Iteration.h的实现 Traversal_Iteration 1前序遍历(迭代)
2 中序遍 历 (迭代 ) 3 后序遍 历 (迭代 ) 4 层序遍 历《树与二叉树递归版c++》
《树与二叉树迭代版c++》
《二叉搜索树递归版c++》
《二叉搜索树迭代版c++》
部分图片来源网络侵删致歉
转载需经同意并引用出处