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.当初你是如何做出选择计算机专业的决定的? 经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 刚开始填报志愿的时候,因为我个人是没有什么比较特别 ...
随机推荐
- COGS 1215. [Tyvj Aug11] 冗余电网
★ 输入文件:ugrid.in 输出文件:ugrid.out 简单对比时间限制:1 s 内存限制:128 MB TYVJ八月月赛提高组第2题 测试点数目:5 测试点分值:20 --内存 ...
- ActiveX、OLE和COM/DCOM
ActiveX:开放的集成平台 为开发人员. 用户和 Web生产商提供了一个快速而简便的在 Internet 和 Intranet 创建程序集成和内容的方法(就是提供了一个方法). 使用 Active ...
- SAP Cloud for Customer客户主数据的地图集成
点击这个按钮可以通过地图的方式查看C4C客户在地图上的地理位置: 只需要在这个客户的地址栏里维护上天府软件园的经度和维度: 就能够在C4C的客户列表页面里显示该客户在地图上的位置: 要获取更多Jerr ...
- 2018.4.21 如何正确快速安装/卸载云服务器Centos7安装GUI图形化界面GNOME桌面环境
为云服务哦Centos安装图形化界面GNOME .KDE 1.开始前先验证一下能不能上网 ping www.baidu.com 2.接下来开始安装X(X Window System),命令为 yum ...
- 一步一步教你用IntelliJ IDEA 搭建SSM框架(1)
1.基本概念 SSM框架指:Spring MVC + Spring + MyBatis Spring MVC是一种web层mvc框架,用于替代servlet,处理|响应请求,获取表单参数,表单校验等 ...
- 获取kafka的lag, offset, logsize的shell和python脚本
python脚本 #!/usr/bin/env python import os import re import sys group_id=sys.argv[1] pn=sys.argv[2] ka ...
- java基础—static关键字
一.static关键字
- C#访问数组元素
在C#中,使用索引来访问数组元素.索引必须是一个整型值. 在数组中,每一个维度的索引从0开始. 一.访问一维数组元素 int[] array = {1,2,3,4,5,6,7,8,9,10}; // ...
- linux文件或文件夹常见操作
创建文件夹 mkdir [-p] DirName 在工作目录下,建立一个名为 A 新的子目录 : mkdir A 在工作目录下的 B目录中,建立一个名为 T 的子目录: 若 B 目录不存在, ...
- C#与SQLServer数据库连接
第一种连接数据库方法:直接通过数据库的用户名.密码等连接 步骤: (1)建立SqlConnection对象,指定SqlConnection对象的ConnectionString属性: (2)打开数据库 ...

