树与二叉树

发布于:2025-08-13 ⋅ 阅读:(13) ⋅ 点赞:(0)

数的概念

数据的线性存储结构有哪种,结构有几种

什么是树

什么不是树

什么是结点的度

什么是树的度

什么是叶子结点或终端结点

什么是双亲结点或父结点

什么是孩子结点或子结点

什么是根结点

什么是结点的层度

什么是树的高度或深度

什么是非终端结点或分支结点

什么是兄弟结点

什么是堂兄弟结点

什么是结点的祖先

什么是子孙

什么是森林

数的表示形式

数的孩子表示法是怎么表示的

class Node {
    int value;
    Node ledtChild;
    Node rightChild;
}

二叉树

二叉树的概念

二叉树是什么

二叉树至少有几个域

二叉树是有序树吗

满二叉树是什么

完全二叉树是什么

二叉树的性质

若规定根结点的层数为1,则一棵非空二叉树的第i层上最多有多少(i>0)个结点

若规定只有根结点的二叉树的深度为1,则深度为K的二叉树的最⼤结点数是多少(k>=0);的推导过程

具有 n 个结点的完全二叉树的深度 k 是什么n个结点的完全二叉树,如果按照从上至下从左至右的顺序对所有节点从0开始编号,则对于序号为i的结点有:

 ◦ 若i>0,双亲序号:(i-1)/2;i=0,i为根结点编号,无双亲结点

 ◦ 若 2i+1< n, 左孩子序号:2n+1,否则无左孩子

 ◦若 2i+2< n,   右孩子序号:2n+2 ,否则无右孩子

二叉树的存储

二叉树是怎么存储的

二叉树的基本操作

二叉树的遍历

前中后序遍历是什么

前中后序遍历的实现

层序遍历是什么

获取树中节点的个数的代码实现

获取叶子节点的个数的代码实现

子问题思路-求叶子结点个数的代码实现

获取第K层节点的个数的代码实现

获取二叉树的高度的代码实现

 检查两棵树是否相同。100. 相同的树 - 力扣(LeetCode)

 另一棵树的子树。572. 另一棵树的子树 - 力扣(LeetCode)

 翻转二叉树。226. 翻转二叉树 - 力扣(LeetCode)

 判断一棵二叉树是否是平衡二叉树。110. 平衡二叉树 - 力扣(LeetCode)

 对称二叉树。101. 对称二叉树 - 力扣(LeetCode)

 二叉树的构建及遍历。二叉树遍历_牛客题霸_牛客网

 二叉树的分层遍历。102. 二叉树的层序遍历 - 力扣(LeetCode)

 给定一个二叉树,找到该树中两个指定节点的最近公共祖先。236. 二叉树的最近公共祖先 - 力扣(LeetCode)

 根据一棵树的前序遍历与中序遍历构造二叉树。105. 从前序与中序遍历序列构造二叉树 - 力扣(LeetCode)

 根据一棵树的中序遍历与后序遍历构造二叉树。106. 从中序与后序遍历序列构造二叉树 - 力扣(LeetCode)

 二叉树创建字符串。606. 根据二叉树创建字符串 - 力扣(LeetCode)

 二叉树前序非递归遍历实现。144. 二叉树的前序遍历 - 力扣(LeetCode)

 二叉树中序非递归遍历实现。94. 二叉树的中序遍历 - 力扣(LeetCode)

 二叉树后序非递归遍历实现。145. 二叉树的后序遍历 - 力扣(LeetCode)

难题

1.

因为后序遍历的顺序是左右根,所以后序遍历的最后一个元素即为根节点,那么我们在中序遍历中找到这个节点,这个元素左边的即为左子树的中序遍历,右边的即为右子树的中序遍历。接下来根据这个方法,对每个部分采取同样的方法递归构造。