《算法通关村—如何使用中序和后序来恢复一颗二叉树》

1.树的结构、基本概念、性质以及存储方式

结构:像倒树一样。

基本概念:树的度(最大节点的度),节点的度(子节点个数),父亲,孩子,祖先节点(所有的祖先),有序还是无序树,二叉树

性质:节点的深度个数,叶节点与度为2关系,每层个数,深度

满二叉树(全部都是满),完全二叉树(可能不满,但一定按照顺序依次排开)

存储方式:类似与链表,指针,数字,不同的是因为二叉树有两个节点,因此要有两个指针。

简便方法:直接定义为链表指针。

可以用数组存储,单不推荐,因为如果二叉树不平衡,会浪费空间

2.树的前中后三种遍历方式

无非是前中后,根据根节点的顺序分辨。

3.如何使用前中序列和中后序列来构造树

类似于下列,不断的分割

中序序列划分:

[3 4 8 6 7 5 2] 1[ 10 9 11 15 13 14 12]

前序序列划分为:

1 [2 3 4 5 6 8 7 ] [9 10 11 12 13 15 14]

第一个括号都是为左节点,第二个括号为右节点。

前序:2 [3 4 5 6 8 7 ]

中序:[3 4 8 6 7 5 ] 2

你可能感兴趣的:(数据结构,java,算法)