这里的树是指一般意义上的树,即子结点个数不限且子结点没有先后次序的树,而不是上文讨论的二叉树。
struct node{
typename data; //数据域
int child[maxn]; //指针域,存放所有子结点的下标 当结点数目过多时,使用vector<int>child
}Node[maxn]; //结点数组,maxn为结点上限个数
v0:Node[0].child[0] = 1, Node[0].child[1] = 2, Node[0].child[2] = 3;
v1:Node[1].child[0] = 4, Node[1].child[1] = 5;
v2:Node[2] has no children, so Node[2].child.size() == 0;
v3:Node[3].child[0] = 6;
v4:Node[4] has no children, so Node[4].child.size() == 0;
v5:Node[5] has no children, so Node[5].child.size() == 0;
v6:Node[6] has no children, so Node[6].child.size() == 0;
这棵树的先序遍历序列就是v0 v1 v4 v5 v2 v3 v6
这棵树的层序遍历序列就是v0 v1 v2 v3 v4 v5 v6