二叉树可以用一维数组或者链表来存储,两者各有利弊。用数组表示二叉树容易实现,访问简单,但是浪费空间,尤其是存储歪二叉树时,并且增删数据比较麻烦。本文介绍用一维数组创建二叉树,并遍历二叉树的方法。
以初始数据int[] a ={6, 3, 5, 9, 7, 8, 4, 2}为节点创建二叉树。二叉树遵循小于父节点的值放在左子节点,大于父节点的值放在右子节点的原则。从树根开始,按阶层依次存入数组中。
用0表示空节点,则该二叉树可表示如下:
用一维数组存储为:{6, 3, 9, 2, 5, 7, 0, 0, 0, 4, 0, 0, 8, 0, 0}。
前序遍历该二叉树,节点顺序为:{6, 3, 2, 0, 0, 5, 4, 0, 9, 7, 0, 8, 0, 0, 0}
中序遍历该二叉树,节点顺序为:{0, 2, 0, 3, 4, 5, 0, 6, 0, 7, 8, 9, 0, 0, 0}
后序遍历该二叉树,节点顺序为:{0, 0