实 验 报 告 一 、 实 验 目 的 1
掌 握 二 叉 树 的 数 据 类 型 描 述 及 二 叉 树 的 特 性
掌 握 二 叉 树 的 链 式 存 储 结 构 ( 二 叉 链 表 ) 的 建 立 算 法
掌 握 二 叉 链 表 上 二 叉 树 的 基 本 运 算 的 实 现
二 、 实 验 内 容 1
实 现 二 叉 树 的 层 次 递 进
将 一 颗 二 叉 树 的 所 有 左 右 子 树 进 行 交 换
三 、 实 验 与 算 法 分 析 二 叉 树 的 遍 历 二 叉 树 的 层 次 遍 历 采 用 的 是 队 列
本 题 用 一 个 一 维 数 组 来 代 替 队 列 , 同 时 设 置 队 列的 对 头 指 针 和 队 尾 指 针
算 法 分 析 : 自 定 义 3 个 函 数 : 结 构 stru ct bitree; 建 立 二 叉 链 表 的 函 数 bitree *create();按 层 次 遍 历 二 叉 链 表 的 函 数 v oid lorder(bitree *t)
结 构 stru ct bitree 中 包 括 数 据 域 和 两 个 指 针 域 ( 一 个 指 向 左 孩 子 , 另 一 个 指 向 右 孩子 )
建 立 二 叉 链 表 的 函 数 bitree *create() 中 先 建 立 一 个 空 队 列( 条 件 是 front=1,rear=0)
然 后 建 立 二 叉 链 表 , 用 一 个 一 维 数 组 来 代 替 队 列 , 存 放 输 入 的 结 点 ; 输 入 结 点 时 , 必 须按 照 完 全 二 叉 树 的 形 式 输 入 ; 如 果 非 完 全 二 叉 树 , 则 必 须 给 定 一 些 假 象 结 点 ( 虚 结 点 ),使 之 完 全 符