DS博客作业-05--树
1.本周学习总结
1.1思维导图


1.2学习体会
- 1.课堂上的知识也很难听懂,打代码就更难听懂了,真的需要不断练习代码。
- 2.在学习本章的内容中,一开始只是理解了概念,在真正做题中,一点思路都没有,不知从何下手,后来跟着书上的代码打,才大致知道点。
- 3.树是一种非线性的数据结构,解决树的相应问题常常用递归的方法,若要使用非递归,则需要借助栈,队列等其他数据结构。
2.PTA实验作业
2.1题目1:6-3 求二叉树高度
2.1.1设计思路
设置变量rchild,lchild;
if树为空 return空
否则 lchild=GetHeight(BT->Left)
rchild=GetHeight(BT->Right)
return lchild+1 或rchild+1
2.1.2代码截图
2.1.3PTA提交列表及说明
2.2题目2:6-4表达式树

2.2.1设计思路
创建二叉树表达式
建栈op
初始化根节点:stack
while(表达式没完成)
if(ch==操作数)
然后生成一个子树T stacktree.push(T)
if(ch==运算符)
然后
while(ch<op栈顶运算符) 栈顶优先级高,然后创建一个树节点T,为op.top()
stacktree弹出2个根节点
2.2.2代码截图



2.2.3PTA提交列表及说明


- 前面做的那次是看完百度的之后打的,这次打的时候,细节太多了,一直不对;前几个答案错误:除0都没对,后来发现,在除0的地方判断错误,样例中没有除法,没有检验就直接上传了
后面的答案错误:除0修改对后,其他的测试点还没有对,后来通过跟踪计算二叉树的过程,发现,像最后减1等等,会变成1减其他的
2.3题目3:7-8二叉树叶子结点带权路径长度和
2.3.1设计思路
/*创建树*/
定义链表 str 存储输入的字符
定义树形指针 *bt
利用getchar()把输入的第一个字符吃掉
其余字符存储到 str 中;
while str[i++] 不为'#'
then 建立新树节点bt;
将str[i]的值赋予bt;
依次递归遍历bt的左子树和右子树;
end
/*求叶子节点带权路径长度和*/
定义整型字符 h 存储叶子节点所在的高度
定义整型字符 s 存储运算结果
if bt的左右孩子节点都为空
then bt节点字符数转换为数字a;
s+=a*高度;
if bt的左孩子节点不为空||bt的右孩子节点不为空
then 采用递归遍历查找出叶子节点;
2.3.2代码截图


2.3.3PTA提交列表说明


3.阅读代码
3.1题目 计算二叉树的最大宽度
3.2解题思路
- 作者解题思路:
先创建一个队列,用一个标注变量去标注最开始时队尾的位置,然后用一个循环来操作二叉树,循环体内的操作和层序遍历类似,不同的是,在每趟循环结束后都要来判断上一层是否便利完成(用那个标注变量和队首的位置比较)如果便利完成,则刷新最大宽度。
3.3代码截图

3.4学习体会
DS博客作业-05--树的更多相关文章
- DS博客作业05——树
1.本周学习总结 1.1思维导图 1.2学习体会 学习:相比于之前的数据结构,树多了很多性质,相应的也多了很多计算题,不得不说,专有名词也是颇多.觉得树最独特的地方就是它的兄弟.孩子结点,用以组成了它 ...
- DS博客作业05—树
1.本周学习总结 1.1思维导图 1.2学习体会 本周学习了树的相关知识,了解了树结构体的应用和基本操作 学习了二叉树的遍历,创建以及哈夫曼树的相关操作 通过树的构建等操作熟练了递归的使用 2.PTA ...
- DS博客作业——树
DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...
- DS博客作业08--课程总结
DS博客作业08--课程总结 1.当初你是如何做出选择计算机专业的决定的? 1.1 经过一年学习,你的看法改变了么,为什么? 1.2 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 1. ...
- DS博客作业--07查找
目录 DS博客作业--07查找 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 2.1.题目1:6-1 二叉搜索树的操作集 (30 分 ...
- DS博客作业05--查找
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...
- DS博客作业04--图
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业04--图 这个作业的目标 学习图结构设计及相关算法 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1. ...
- DS博客作业03--树
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...
- C语言l博客作业05
问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9830 我在这 ...
- DS博客作业--课程总结
1.当初你是如何做出选择计算机专业的决定的? 经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 刚开始填报志愿的时候,因为我个人是没有什么比较特别 ...
随机推荐
- jsp四大作用域之page
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- 重温Javascript(二)-对象
对象 可以想象成散列表,键值对,值可以是数据或函数 创建对象的方式 1.工厂模式 function createPerson(name, age, job){ var o = new Object() ...
- [VC]char 和 wchar_t相互转化
#include <windows.h> #include <stdio.h> //function: charTowchar //purpose:char to WCHAR ...
- 为Oracle Clusterware修改公用及私有网络接口
出于种种原因我们可能需要为已安装的Oracle集群软件修改其使用的公用或私有网络所使用的网络接口(How to Change Interconnect/Public Interface IP or S ...
- Problem N: 求二维数组中的鞍点【数组】
Problem N: 求二维数组中的鞍点[数组] Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2764 Solved: 1728[Submit][S ...
- Paper: 《Bert》
Bert: Bidirectional Encoder Representations from Transformers. 主要创新点:Masked LM 和 Next sentence predi ...
- 前缀树,trie树
前缀树: 假设一个字符串数组,“abcd”,"bcd","gef" , 构建一颗树,字母是在路径上,节点上最基本的存储的信息包括: 以这个节点结尾的 字符串的数 ...
- js中实现杨辉三角
实现效果:杨辉三角 即: 提示用户输入要实现的杨辉三角行数: 请输入杨辉三角的行数: 8 代码实现后的效果如下: 1 1.1 1.2.1 1.3.3.1 1.4.6.4.1 1.5.10.10.5.1 ...
- PHPStorm+XDebug进行调试图文教程
这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 另外如果你们加载不出图片,另外的地址:转载地址https:// ...
- Spring Security和Shiro的比较和使用
https://blog.csdn.net/it_java_shuai/article/details/78054951 Spring Security和Shiro的比较和使用 2017年09月21日 ...

