zoukankan      html  css  js  c++  java
  • DS博客作业05--树

    1.本周学习总结

    1.思维导图

    2.谈谈你对树结构的认识及学习体会

    对树的学习,明显比栈和队列难多了,树更多的需要运用到递归的思想。树是n个节点组成的有限集合,树是递归的,掌握了树的性质和树的遍历方法,以及三种存储结构。还学习了特殊的树------二叉树,了解了二叉树、满二叉树、以及完全二叉树的定义,掌握了二叉树的性质,学会了对二叉树的基本运算,以及各种遍历,重点是二叉树的存储结构,也学习二叉树的构造方法。最后学习线索二叉树和哈夫曼树。

    2.PTA实验作业

    2.1.题目1:6-2 中序输出度为1的结点

    2.1.1设计思路(伪代码)

    2.1.2代码截图

    2.1.3本题PTA提交列表说明

    注:因为一开始一直在编译器上面写,没有提交过。。然后题目写得慢,然后后来题目集关闭了也没提交。。所以次数较少

    • Q1:编译错误
    • A1:在电脑上有把之前的错误代码保存下来,后来提交的时候也先把错的代码提交上去,然后在提交正确代码。一开始弄不清楚递归函数,想用while,但是又太麻烦,代码不断编译错误,后来用递归法简单多了,树就是要多递归递归才有感觉。
    • Q2:格式错误
    • A2:因为递归函数,是先遍历完在输出,一开始没搞清楚,以为是遍历到就输出,知识掌握不好,所以输出时应该先空格,然后%c

    2.2 题目2:7-1 还原二叉树

    2.2.1设计思路(伪代码)

    2.2.2代码截图

    2.2.3本题PTA提交列表说明。

    • Q1:原本搞不清楚如何通过先序序列和中序序列将二叉树还原
    • A1:后来发现,题目是二叉树,且后来发现先序序列第一个值就是根节点,而中序的根节点前面是左子树的中序,后面是右子树的中序,意识到可以用递归解决问题

    2.3 题目3:7-4 jmu-ds-二叉树叶子结点带权路径长度和

    2.3.1设计思路(伪代码)

    2.3.2代码截图


    2.3.3本题PTA提交列表说明

    • Q1:段错误
    • A1:建树函数做的时候,没有将字符串s传入函数中,导致段错误;emmmmm,一开始搞不懂这个题目,后来看了学长的代码,才搞懂的
    • Q2:编译错误
    • A2:全局变量定义的是s,在后面写错成str,并且在GetWpl函数中 因为是void类型,应该是return,而不是return0;

    3、阅读代码

    3.1 题目:另一颗树的子树,给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。

    3.2 解题思路

    3.3 代码截图

    3.4 学习体会

    学会使用递归,判断s和t结构时,从根节点开始判断,注意两者都为NULL的情况。若不相等,取s的左右节点与t根节点取或。

  • 相关阅读:
    python-day3-内置函数与字符字节之间的转换
    python-day3-之函数
    鸿蒙的多媒体及Menu组件及小程序的多媒体组件
    鸿蒙 移植 树莓派(下)修改源码
    鸿蒙 移植 树莓派(上)搭建环境下载源码
    鸿蒙 移植 树莓派(中)添加单板
    鸿蒙的横向滚动菜单和分组Group列表菜单和fetch请求加载聚合数据
    鸿蒙的fetch请求加载聚合数据的前期准备工作-手动配置网络权限
    鸿蒙内核源码分析(何为任务篇) | 任务的五脏六腑都是些啥 ?
    鸿蒙的远程交互组件应用及微信小程序的远程交互组件应用
  • 原文地址:https://www.cnblogs.com/wxj991220/p/10891208.html
Copyright © 2011-2022 走看看