遍写程序,实现对二叉树的层次遍历。 按先序序列建立二叉树的二叉链表(用#补齐空结点),然后借助队列对二叉树进行层次遍历,并输出遍历结果。 提示: 1. 循环顺序队列和链队列均可,涉及到的操作:初始化队列、入队、出队和判断队列是否为空; 2. 若定义二叉链表类型为BiTree,则队列的数据元素类型QElemType为BiTree类型。建议定义:typedef BiTree QElemType;
时间: 2023-06-02 18:06:46 浏览: 135
算法之二叉树的层序遍历(利用队列实现,需熟练手写)
5星 · 资源好评率100%
链式存储结构),然后利用队列实现树的层次遍历。遍历时先访问根结点,然后按从上到下、从左到右的顺序依次访问各结点。具体操作如下:
1. 创建一个空队列和一个变量 level,初始值为0。
2. 将二叉树的根结点入队列。
3. 当队列不为空时,执行以下操作:
- 从队列中取出一个结点,并访问该结点。
- 若该结点有左子结点,则将左子结点入队列。
- 若该结点有右子结点,则将右子结点入队列。
- level加1。
4. 重复步骤3,直到队列为空。
阅读全文