二叉树表示之——数组
表示为数组如下:(看成完全二叉树)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
A | B | C | D | E | F | - |
结点 | A | B | C | D | E | F |
数组下标 | 0 | 1 | 2 | 3 | 4 | 5 |
左子树 | 1 | 3 | 5 | -1 | -1 | -1 |
右子树 | 2 | 4 | -1 | -1 | -1 | -1 |
顺序不唯一,即可表示为
结点 | B | E | C | A | D | F |
数组下标 | 1 | 4 | 2 | 0 | 3 | 5 |
左子树 | 3 | -1 | 5 | 1 | -1 | -1 |
右子树 | 4 | -1 | -1 | 2 | -1 | -1 |
寻找根结点方式:遍历左子树和右子树,观察出现则表示被指向,观察上表,出现12345,则0未被指向即为根结点 左(右)子树:即数组下标,不存在标记为-1
具体实现方式见博文《树的同构》http://blog.csdn.net/yolanda_salvatore/article/details/78512103