Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
joebiden
interview
提交
4fd2b0fd
I
interview
项目概览
joebiden
/
interview
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
interview
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4fd2b0fd
编写于
2月 15, 2018
作者:
辉哈
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新二叉树
上级
f9e6dcc9
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
59 addition
and
1 deletion
+59
-1
README.md
README.md
+59
-1
images/LinkBinaryTree.png
images/LinkBinaryTree.png
+0
-0
images/SqBinaryTree.png
images/SqBinaryTree.png
+0
-0
未找到文件。
README.md
浏览文件 @
4fd2b0fd
...
...
@@ -227,10 +227,68 @@ typedef struct GLNode1 {
### 二叉树
### 三叉树
#### 性质
1.
非空二叉树第 i 层最多 2^(i-1) 个结点 (i >= 1)
2.
深度为 k 的二叉树最多 2^k - 1 个结点 (k >= 1)
3.
度为 0 的结点数为 n0,度为 2 的结点数为 n2,则 n0 = n2 + 1
4.
有 n 个结点的完全二叉树深度 k = ⌊ log2(n) ⌋ + 1
5.
对于含 n 个结点的完全二叉树中编号为 i (1 <= i <= n) 的结点
1.
若 i = 1,为根,否则双亲为 ⌊ i / 2 ⌋
2.
若 2i > n,则 i 结点没有左孩子,否则孩子编号为 2i + 1
3.
若 2i + 1 > n,则 i 结点没有右孩子,否则孩子编号为 2i + 1
#### 存储结构
##### 顺序存储
![](
images/SqBinaryTree.png
)
##### 链式存储
![](
images/LinkBinaryTree.png
)
#### 遍历方式
*
先序遍历
*
中序遍历
*
后续遍历
*
层次遍历
#### 分类
*
满二叉树
*
完全二叉树(堆)
*
大顶堆:根 >= 左 && 根 >= 右
*
小顶堆:根 <= 左 && 根 <= 右
*
二叉查找树(二叉排序树):左 < 根 < 右
*
平衡二叉树(AVL树):| 左子树树高 - 右子树树高 | <= 1
*
最小失衡树:平衡二叉树插入新结点导致失衡的子树:调整:
*
LL型:根的左孩子右旋
*
RR型:根的右孩子左旋
*
LR型:根的左孩子左旋,再右旋
*
RL型:右孩子的左子树,先右旋,再左旋
### 森林
#### 树的存储结构
*
双亲表示法
*
双亲孩子表示法
*
孩子兄弟表示法
#### 并查集
一种不相交的子集所构成的集合 S = {S1, S2, ..., Sn}
#### B树
#### B+树
#### 红黑树
#### 八叉树
### 图
## 算法
...
...
images/LinkBinaryTree.png
0 → 100644
浏览文件 @
4fd2b0fd
14.6 KB
images/SqBinaryTree.png
0 → 100644
浏览文件 @
4fd2b0fd
20.7 KB
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录