二叉树和广义表

This commit is contained in:
lzy
2024-04-18 18:11:46 +08:00
parent f80d052277
commit 71fdab3f9f
6 changed files with 688 additions and 2 deletions

View File

@@ -46,7 +46,52 @@
**递归**。**递归**转**非递归**。
- 深度:层数
- 度:子树的个数
- 叶子:边缘节点
- 孩子:与父节点对应
- 兄弟:相同父节点
- 堂兄弟:相同爷节点
- 二叉树:
- 满二叉树:深度为`k`且节点为`2^k-1`的二叉树
- 完全二叉树:一颗二叉树,只有倒数两层可以存在不满两个孩子的节点,且单个孩子时只能是左孩子
- 存储:
- 顺序:直观,但是浪费空间
满二叉树:父节点`n`,左孩子`2n`,右孩子`2n+1`
- 链式:灵活,空间利用率高
- 遍历
- 按行
- 先序(根,左,右)
- 中序(左,根,右)
- 后序(左,右,根)
先加中,或者,中加后,都可以逆推出树。先加后不行。
- 平衡:
有很多种条件判定。
这棵树的左右子树个数差值为jj1。
- 广义表
`( root ( left ) ( right) )`,进行嵌套。
-N:M