王道p150 14.假设二叉树采用二叉链表存储结构,设计一个算法,求非空二叉树 b的宽度(即具有结点数最多的那一层的结点个数) (c语言代码实现)
采用层次遍历的方法求出所有结点的层次,并将所有结点和对应的层次放在一个队列中。然后通过扫描队列求出各层的结点总数,最大的层结点总数即为二叉树的宽度。/*ABCDEFG*/本题代码如下intwidth(tree*t){queneq;treep;intk;q.f=q.r=-1;//队列为空q.r++;q.data[q.r]=*t;//根结点进队q.level[q.r]=1;//根结点层次为1while