二叉树的基本操作、算法和应用

一、实验目的掌握二叉树的建立和遍历掌握二叉树遍历的应用掌握线索二叉树的建立和遍历掌握hufmman编码二、实验内容递归建立和层次遍历二叉树二叉树的深度非递归遍历统计二叉树中右孩子节点的个数线索二叉树的建立和遍历哈夫曼编码三、实验环境在PTA平台进行实验四、实验要求根据每个实训的要求完成代码提交和测评五、实验步骤描述算法的原理或实现流程(测评完全正确或部分正确的实训)1.递归建立和层次遍历二叉树题目:本题要求编写建立二叉树的函数和层次
摘要由CSDN通过智能技术生成

一、实验目的

  1. 掌握二叉树的建立和遍历

  2. 掌握二叉树遍历的应用

  3. 掌握线索二叉树的建立和遍历

  4. 掌握hufmman编码
    二、实验内容

  5. 递归建立和层次遍历二叉树

  6. 二叉树的深度非递归遍历

  7. 统计二叉树中右孩子节点的个数

  8. 线索二叉树的建立和遍历

  9. 哈夫曼编码
    三、实验环境
    在PTA平台进行实验
    四、实验要求

    根据每个实训的要求完成代码提交和测评

五、实验步骤
描述算法的原理或实现流程(测评完全正确或部分正确的实训)

1.递归建立和层次遍历二叉树
题目:本题要求编写建立二叉树的函数和层次遍历二叉树的函数
实现流程:
(1) 建立二叉树
我在建立二叉树时,用先序遍历的方式,输入的是扩展二叉树,也就是要告诉计算机什么是叶结点,否则将一直递归,当输入“#”时,指针指向NULL,说明是叶结点。
(2) 层次遍历二叉树
①创建空队列LinkQueue queue=SetNullQueue_Link();
②根结点不为空,根结点入队EnQueue_link(queue,bt);
③队列不空,循环执行操作while(!IsNullQueue_Link(queue))
④去队头元素,出队;
⑤左、右孩子不空,则入队。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值