计算机软件基础二叉树实验报告.docx

PAGE PAGE 2 实验报告 实验名称 二叉树 班 级 学 号 姓 名 成 绩 实验概述: 【实验目的及要求】 1.. 掌握二叉树的存储结构 对给定二叉树用链式存储结构;利用队列与栈对二叉树进行运算。 按层次输出所有结点。 输出所有叶子结点。 将所有左右子树的值交换。 【实验原理】 二叉树的链式存储结构 二叉树的每一个结点i 有三个域:值域 V(i),左链域 L(i),右链域 R(i)。我们分别用三个一维数组表示它们,并用头指针HBT 指向二叉树的根结点。 按层次输出所有结点 为了达到按层次扫描结点的目的,需要设置一个容量足够大的循环队列(可以用一个首尾相接的一维数组模拟)。初始时,将根结点序号入队。然后每次从队列中退出一个结点序号, 将此结点的值及左右链指针输出,且依次将此结点的左右链指针入队。这个过程一直进行到队列空为止。设循环队列数组为 cq(1:m),其头尾指针分别为 front 与 rear,则按层次输出所有结点的算法如下: IF HBT = 0 THEN RETURN “ THIS TREE IS EMPTY” Front ?m, rear? m ADD ( cq, HBT, front, rear ) WHILE front ? rear DO {DEL ( cq , i, front ,rear ) OUTPUT ( L( i ) , V( i )

文档评论(0)

1亿VIP精品文档

相关文档