树:和以前学到的栈、队列、列表同样是一种集合,但不一样的是,树是一种非线性结构,它的元素被组织成为层次结构。html
树的分类:git
度(order),万事都有一个度,度就是书中任一结点能够具备的最大孩子(Child)数,如图中A的孩子数为2,C的孩子数为1 ,整个树孩子数最多为2,则度为2; 根据一棵树的度能够将其称为n元树,图中为二元树(二叉树)。数组
没有孩子的结点就是树的叶子,是树的最终端。数据结构
树的“平衡”,树的全部叶子在同一层或者相差不超过一层,称之谓平衡;学习
彻底树,在平衡树的基础上,底层全部叶子紧靠左侧设计
(向左看齐(⊙ˍ⊙)(←←)(←←)(←←) (←←))))))。。。)3d
满树,一个n元树的每一个结点都有n个孩子,则为满树。调试
实现树,一样有两个方向:数组实现和链表实现:
数组实现又分两个原则方法:计算策略和模拟连接策略;htm
树的遍历:四种:前序遍历、中序遍历、后序遍历、层序遍历。blog
前序:当前→左孩子→右孩子。拿图三举例:输出顺序为abdecf
中序:左孩子→当前→右孩子。以图三为例:dbeacf
后序:左孩子→右孩子→当前。debfca
层序:一层一层地遍历。abcdef
问题:模拟连接策略用数组实现树的理解?
书中的图片有点抽象,只好仔细阅读。理解以下。
无
(statistics.sh脚本的运行结果截图)
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 6/6 | |
第二周 | 771/771 | 1/2 | 16/22 | |
第三周 | 562/1233 | 1/3 | 15/37 | |
第四周 | 1503/2736 | 2/5 | 15/52 | |
第五周 | 1152/3888 | 1/6 | 10/62 | |
第六周 | 787/4675 | 1/7 | 10/72 |