博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DS博客作业-05--树
阅读量:4582 次
发布时间:2019-06-09

本文共 1288 字,大约阅读时间需要 4 分钟。

1.本周学习总结

 1.1思维导图

1476637-20190523212211952-1273196911.png

1476637-20190523211953252-1227816733.png

 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代码截图

  • 1476637-20190521151615650-1936034227.png

 2.1.3PTA提交列表及说明

  • 1476637-20190521154726246-315320057.png

 2.2题目2:6-4表达式树

1476637-20190524225405475-2024095002.png

 2.2.1设计思路

创建二叉树表达式建栈op初始化根节点:stackwhile(表达式没完成)if(ch==操作数)然后生成一个子树T  stacktree.push(T)if(ch==运算符)然后while(ch

 2.2.2代码截图

1476637-20190524233254290-1496775611.png

1476637-20190524233323027-1191027457.png
1476637-20190524233340630-331644397.png

 2.2.3PTA提交列表及说明

1476637-20190524233750598-1605048166.png

1476637-20190524233612541-664182197.png

  • 前面做的那次是看完百度的之后打的,这次打的时候,细节太多了,一直不对;前几个答案错误:除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代码截图

1476637-20190524234318243-1232853878.png

1476637-20190524234336852-1871317403.png

 2.3.3PTA提交列表说明

1476637-20190524235018947-582901547.png

1476637-20190524234858006-972500506.png

3.阅读代码

 3.1题目 计算二叉树的最大宽度

 3.2解题思路

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

 3.3代码截图

1476637-20190524235238738-1099308867.png

 3.4学习体会

转载于:https://www.cnblogs.com/zrjAIRON/p/10887421.html

你可能感兴趣的文章
ubuntu common software introduction
查看>>
资源相互引用时 需添加 PerformSubstitution=True
查看>>
MapRedece(单表关联)
查看>>
蒲公英App开发之检测新版本
查看>>
【安卓基础】倒计时按钮封装(验证码倒计时按钮)
查看>>
configparser模块
查看>>
SelectQueryBuilder的用法
查看>>
android的用户定位(一)
查看>>
creat-react-app搭建的项目中按需引入antd以及配置Less和如何修改antd的主题色
查看>>
IIS安装
查看>>
html块级元素和行级元素的区别和使用
查看>>
for循环嵌套
查看>>
寒冬夜行人
查看>>
poj1151 Atlantis
查看>>
HTML页面之间的参数传递
查看>>
java面试题集锦
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>
Spring Security构建Rest服务-0800-Spring Security图片验证码
查看>>
AE待整理
查看>>
java8中规范的四大函数式接口
查看>>