2016 - 2024

感恩一路有你

二叉树怎么按层输出 二叉树的层次遍历?

浏览量:3115 时间:2021-03-14 03:56:34 作者:admin

二叉树的层次遍历?

设计一个遍历二叉树的算法(从左到右访问同一层)。思路:用队列保存当前节点的左右子节点,实现序列遍历。

Void hierarchy BiTree(BiTree root){

linkqueue*q//保存当前节点左右子节点的队列

initqueue(q)//初始化队列

if(root==null)return//树为空时返回

binode*P=root//将树根临时保存到指针P

visit(P->data)//访问根节点

if(P->lchild)enqueue(Q,P->lchild)//如果有左子级,左子级进入队列

if(P->rchild)enqueue(Q,P->rchild)//如果有右子级,右子级进入队列

while(!Queueempty(q))//如果队列不为空,则序列遍历{dequeue(q,P)//出队列

visit(P->data)//访问当前节点

if(P->lchild)enqueue(q,P->lchild)//如果有左子级,则左子级进入队列

if(P->rchild)enqueue(q,P->rchild)//如果有左子级右子,右子进入队列

}

destroy queue(q)//释放队列空间

return

这很详细!你能理解的!加油!

二叉树怎么按层输出 完全二叉树按层次输出 二叉树按层次输出

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。