201723302018-2019-1《程序设计与数据结构》第六周学习总结

linanlalala linanlalala     2023-01-12     762

关键词:

20172330 2018-2019-1 《程序设计与数据结构》第六周学习总结

教材学习内容总结

1、树是非线性结构,其元素组织为一个层次结构
技术分享图片

2、树的度表示树中的任意结点的最大子结点数
3、有m个元素的平衡n叉树的高度是lognm
4、树的遍历有4种方法
5、进行层序遍历时可采用队列来储存树中的元素
6、使用数组实现二叉树时,位于位置n的元素的左孩子在(2n+1)的位置,其右孩子在(2*(n+1))的位置
7、树的基于数组的存储链实现方式可以占数组中的连续位置,不管树是不是完全树
8、如何在一般二叉树中添加及删除元素,要取决于树的用途
9、使用决策树可以设计专家系统

二叉树

技术分享图片
10、二叉查找树时一颗二叉树,对于其中的每个结点,左子树上的元素小于父结点的值,二右子树上的元素大于等于父结点的值
11、如果没有其他的操作,二叉查找树的树形由元素的添加次序来决定
12、最有效地二叉查找树时平衡的,所以每次比较时可以排除一半的元素
13、当从二叉查找树中删除元素时要考虑三种情形,其中的两种比较简单
14、当从二叉查找树中删除有两个子结点的结点时,比较好的办法是用它的中序后继来取代它
15、可以对二叉查找树进行旋转以恢复平衡

部分计算公式

16、二叉树上第i层上的结点数目最多为2^(i-1)(i>=1)
17、深度为k的二叉树至多有2^k-1个结点(i>=1)
18、包含n个结点的二叉树的高度至少为log2(n+1)
19、在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1.

教材学习中的问题和解决过程

  • 问题1:树的遍历
  • 问题1解决方案:
    1、先序遍历——先访问根,再自左向右遍历子树
    2、中序遍历——遍历左子树,然后访问根,然后自左向右遍历余下的各个子树
    3、后续遍历——自左向右遍历各个子树,然后访问根
    4、层序遍历——从树的顶层(根)打包底层,从左至右,访问树中每层的每个结点
    技术分享图片
    例题:
    技术分享图片
    先序遍历:A B D G C E F
    中序遍历:D G B A E C F
    后续遍历:G D B E F C A

  • 问题2:满二叉树和完全二叉树的区别
  • 问题2解决方案
    满二叉树——除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。
    完全二叉树——若设二叉树的高度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第h层有叶子结点,并且叶子结点都是从左到右依次排布,这就是完全二叉树。
    满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。

代码调试中的问题和解决过程

  • 问题1:在编写树的方法时,RemoveFirst方法一直报错
  • 问题1解决方案:在检查后发现是在ListADT时没有写进去导致出现了错误。
    技术分享图片

代码托管

技术分享图片

上周考试错题总结

结对及互评

  • 基于评分标准,我给严域俊的博客打分:7分。得分情况如下:

正确使用Markdown语法(加1分)

模板中的要素齐全(加1分)

教材学习中的问题和解决过程, (加3分)

感想,体会真切的(加1分)

点评认真,能指出博客和代码中的问题的(加1分)

  • 博客中值得学习的或问题:
    • 图片和文字相结合,方便理解。
    • 增加了博客中的目录,方便查看,同时样式进行了更新,显得更加美观
    • 阅读了许多资料,使得博客更有说服力。
  • 代码中值得学习的或问题:
    - commit依旧很详细,有条理性。

点评过的同学博客和代码

  • 本周结对学习情况
    • 20172333
    • 结对学习内容
      教材第9章,运行教材上的代码
      完成课后自测题,并参考答案学习
      完成课后自测题,并参考答案学习
      完成程序设计项目:至少完成PP9.2、PP9.3

其他(感悟、思考等,可选)

这一周花了点心思在这一章上面,也好好阅读了很多内容,掌握的还算可以。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/1 10/10
第二周 700/700 1/2 10/20
第三周 700/1400 1/3 10/30
第四周 500/1900 2/5 10/40
第五周 569/2469 1/6 10/50
第六周 1070/3539 1/7 10/60

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:10小时

  • 实际学习时间:10小时

参考资料

201723302018-2019-1《程序设计与数据结构》第六周学习总结

201723302018-2019-1《程序设计与数据结构》第六周学习总结教材学习内容总结树1、树是非线性结构,其元素组织为一个层次结构2、树的度表示树中的任意结点的最大子结点数3、有m个元素的平衡n叉树的高度是lognm4、树的遍历有4种... 查看详情

201723302018-2019-1《程序设计与数据结构》第八周学习总结

201723302018-2019-1《程序设计与数据结构》第八周学习总结教材学习内容总结一、堆堆就是具有两个附加属性的一棵二叉树对每一结点,它小于或等于其左孩子和右孩子二、向堆中添加一个元素1.将元素添加为新的叶节点,同时保持... 查看详情

201723302018-2019-1《程序设计与数据结构》第二周学习总结(代码片段)

201723302018-2019-1《程序设计与数据结构》第二周学习总结教材学习内容总结集合1.集合是一种对象,类似于保存其他对象的存储库集合中的元素通常是按照他们添加到集合的顺序,或者是按元素之间的某种内在联系来组织的。2、... 查看详情

201723302018-2019-1《程序设计与数据结构》第七周学习总结

201723302018-2019-1《程序设计与数据结构》第七周学习总结教材学习内容总结二叉查找树在二叉查找树中:若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;任意节点的右子树不空,则右子树上所有结点... 查看详情

程序设计与算法

程序设计与算法[北京大学] 第一周:枚举完美立方生理周期称硬币熄灯问题讲义加群:597225218  输入:博客园程序设计与算法第一章第二周:递归(一)阶乘汉诺塔N皇后波兰表达式讲义加群:597225218  输入:博客园程序... 查看详情

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序

201723272018-2019-1《程序设计与数据结构》实验三:查找与排序课程:《Java软件结构与数据结构》班级:201723姓名:马瑞蕃学号:20172327实验教师:王志强实验日期:2018年11月19日必修/选修:必修一、实验内容:实验二查找与排序-1... 查看详情

20172328《程序设计与数据结构》实验三:查找与排序

20172328《程序设计与数据结构》实验三:查找与排序课程:《软件结构与数据结构》班级:1723姓名:李馨雨学号:20172328实验教师:王志强老师实验日期:2018年11月19日-2018年11月25日必修选修:必修一、实验要求内容实验1:定义... 查看详情

20172308实验三《程序设计与数据结构》查找与排序实验报告(代码片段)

201723082018-2019-1实验3《查找与排序》报告课程:《程序设计与数据结构》班级:1723姓名:周亚杰学号:20172308实验教师:王志强实验日期:2018年10月20日必修/选修:必修1.实验内容查找与排序-1:定义一个Searching和Sorting类,并在... 查看详情

《程序设计与数据结构》第八周学习总结

学号20172326《程序设计与数据结构》第八周学习总结教材学习内容总结后绑定在程序执行时执行多态性可由继承与接口实现排序有选择法排序与插入法排序搜索分为线性搜索与二分搜索算法,同一类型的不同方法可能解决同一问... 查看详情

程序设计基石与实践专栏引导

本博文主要对通过程序设计基石与实践专栏归类,主要分为C语言与C++语言.下面对程序设计基石与实践专栏博文的索引:(待定未完待续)C语言话谈C语言让你成为一名Top的C语言程序员C语言程序员必读的5本书让你成为... 查看详情

计算机专业毕业设计(论文)题目汇总表.doc

考试报名数据处理系统设计与实现、基于WEB的车票预订信息系统设计与实现、全文搜索引擎的设计与实现、图书借阅管理信息系统设计与实现、图书销售管理信息系统设计与实现、学生选课信息系统设计与实现、运动会成绩管理... 查看详情

红书《题目与解读》第一章数学题解《acm国际大学生程序设计竞赛题目与解读》(代码片段)

...计划红书《题目与解读》第一章数学题解《ACM国际大学生程序设计竞赛题目与解读》全书目录:《题目与解读》红书训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》目录红书《题目与解读》第一章数学题解《ACM国际... 查看详情

风螺旋与飞行程序设计

精简版的课件分享。风螺旋课题的一个阶段性总结,后续将从理论向实践进行转变,希望取得更多的实践成果,再与大家分享!全文完,谢谢!  查看详情

RESTful URL 设计:公共与私有 API、分层 API 设计模式、URI 与 URL 设计?

】RESTfulURL设计:公共与私有API、分层API设计模式、URI与URL设计?【英文标题】:RESTfulURLdesign:publicvsprivateAPI,hierhachyAPIdesignpattern,URIvsURLdesign?【发布时间】:2013-12-1923:00:23【问题描述】:我经常遇到这样的问题,与HierarchicalRESTfulUR... 查看详情

程序设计语言与语言处理程序基础

重点1编译过程2文法定义 一颗语法树 有限自动机正规式7数据类型与程序控制结构8表达式9传值与传址传址调用10各程序语言特点  查看详情

201823222019-2020-1《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结1.编写类与方法(构造方法的结构和用途)2.实际参数与形式参数、public与private、return与void的区别与含义、3.UML类图的含义与形式4.静态类(Math类)静态变量、静态方法5.类间关系(依赖关系、聚合关系、继承... 查看详情

概要设计与具体设计

概要设计与具体设计在写概要设计与具体设计的时候,对于内容以及他们之间的界限非常easy模糊.今天写点自己的想法.有问题请大家不吝赐教:[email protected]首先大家要注意这2个文档最后2字,都是设计.设计就是设计,不是代码因... 查看详情

数学题解《acm国际大学生程序设计竞赛题目与解读》(代码片段)

...计划红书《题目与解读》第一章数学题解《ACM国际大学生程序设计竞赛题目与解读》全书目录:《题目与解读》红书训练笔记目录《ACM国际大学生程序设计竞赛题目与解读》目录红书《题目与解读》第一章数学题解《ACM国际... 查看详情