1.本周学习总结

1.1思维导图

1.2学习体会

本周学习了树的相关知识,了解了树结构体的应用和基本操作

学习了二叉树的遍历,创建以及哈夫曼树的相关操作

通过树的构建等操作熟练了递归的使用

2.PTA实验作业

2.1

二叉树叶子结点带权路径长度和

2.1.1 设计思路

if i>len-1 //超过最大节点数
return NULL
if str[i]=='#' //孩子节点为空
return NULL
为节点各项赋值
i=temp
while(temp > 1) //由i值计算元素层次
temp/=2
num++
bt->wpl=num
递归建左孩子节点
递归建右孩子节点
int wpl=0
if 树为空
return 0
if 叶子节点
wpl=tree->data*tree->wpl
return wpl
wpl+=左孩子节点权带路径和
wpl+=右孩子节点权带路径和
return wpl

2.1.2 代码截图





2.1.3 本题PTA提交列表说明

开始时使用不带路径长的结构体,在GetWpl函数中另行计算路径长,一个测试点不能通过

重新设计了结构体,简化计算后正确

2.2

二叉树层次遍历

2.2.1 设计思路

if 树为空
cout << NULL
return
bt进队
while 队不空
t=队头元素
按格式输出t
t出队
if 有左孩子
左孩子进队
if 有右孩子
右孩子进队

2.2.2 代码截图







2.2.3 本题PTA提交列表说明

输出格式判定代码错误

修改判定条件后正确

2.3

修理牧场

2.3.1 设计思路

创建递增优先队列
for i=0 to num
各长度进队
while (队不空)
队头两元素出队
temp+=队头两元素和
队头两元素和进队
返回temp

2.3.2 代码截图

2.3.3 本题PTA提交列表说明

在提交之前用了n种(完全错误的)思路解决这题,一直跑不出结果就放着了

上课时老师讲了priority_queue的解法,发现用priority_queue的做法极度简便,一次过

3.阅读代码

3.1 题目

二叉树的右视图

3.2 解题思路

本题相当于使用层次遍历取各层最右节点

1.对树进行层次遍历

2.从右至左将元素进队

3.将队头元素加入链表

4.返回链表

3.3 代码截图

3.4 学习体会

本题复习了个人较不熟练的层次遍历操作

学会利用队列取得每层最边缘元素

DS博客作业05—树的更多相关文章

  1. DS博客作业05——树

    1.本周学习总结 1.1思维导图 1.2学习体会 学习:相比于之前的数据结构,树多了很多性质,相应的也多了很多计算题,不得不说,专有名词也是颇多.觉得树最独特的地方就是它的兄弟.孩子结点,用以组成了它 ...

  2. DS博客作业——树

    DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...

  3. DS博客作业08--课程总结

    DS博客作业08--课程总结 1.当初你是如何做出选择计算机专业的决定的? 1.1 经过一年学习,你的看法改变了么,为什么? 1.2 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 1. ...

  4. DS博客作业--07查找

    目录 DS博客作业--07查找 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 2.1.题目1:6-1 二叉搜索树的操作集 (30 分 ...

  5. DS博客作业05--查找

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...

  6. DS博客作业04--图

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业04--图 这个作业的目标 学习图结构设计及相关算法 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1. ...

  7. DS博客作业03--树

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...

  8. C语言l博客作业05

    问题 回答 这个作业属于哪个课程 C语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9830 我在这 ...

  9. DS博客作业--课程总结

    1.当初你是如何做出选择计算机专业的决定的? 经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 刚开始填报志愿的时候,因为我个人是没有什么比较特别 ...

随机推荐

  1. Netweaver和CloudFoundry的服务器日志

    Netweaver 事务码SMICM,Goto->HTTP Plug-In->Server Logs: CloudFoundry 假设我部署本地应用到CloudFoundry之后,应用的状 ...

  2. Spark Job调优(Part 1)

    原文链接:https://wongxingjun.github.io/2016/05/11/Spark-Job%E8%B0%83%E4%BC%98-Part-1/ Spark应用的执行效率是所有程序员 ...

  3. Object Modeling

    https://developer.apple.com/library/content/documentation/General/Conceptual/CocoaEncyclopedia/Objec ...

  4. PAT (Basic Level) Practise (中文)- 1009. 说反话 (20)

    http://www.patest.cn/contests/pat-b-practise/1009 给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出. 输入格式:测试输入包含一个测试用例,在 ...

  5. iOS 绘制1像素的线

    一.Point Vs Pixel iOS中当我们使用Quartz,UIKit,CoreAnimation等框架时,所有的坐标系统采用Point来衡量.系统在实际渲染到设置时会帮助我们处理Point到P ...

  6. deque 用法

    引用博客:https://blog.csdn.net/zyq522376829/article/details/46801973 下面是那位大佬写的的笔记整理~~~~ deque - 双向队列 1.构 ...

  7. NOIP模拟赛 czy的后宫4

    czy的后宫4 [问题描述] czy有很多妹子,妹子虽然数量很多,但是质量不容乐观,她们的美丽值全部为负数(喜闻乐见). czy每天都要带N个妹子到机房,她们都有一个独一无二的美丽值,美丽值为-1到- ...

  8. linux :没有找到 ifconfig netstat

    linux :没有找到 ifconfig netstat ubuntu sudo apt install net-tools -y centos yum install net-tools

  9. Python爬虫系列-Selenium+Chrome/PhantomJS爬取淘宝美食

    1.搜索关键字 利用Selenium驱动浏览器搜索关键字,得到查询后的商品列表 2.分析页码并翻页 得到商品页码数,模拟翻页,得到后续页面的商品列表 3.分析提取商品内容 利用PyQuery分析源码, ...

  10. PHP四种序列化方案

    原文地址:https://t.ti-node.com/thread/... 数据的序列化是一个非常有用的功能,然而目测很多人跟我一样,在刚接触这玩意的时候压根就不理解这货色到底是干啥用的,反正老师说了 ...