20182320《Program Design and Data Structures》Learning Summary Week9
20182320《Program Design and Data Structures》Learning Summary Week9
1.Summary of Textbook's Content
1.1 Chapter 15:Tree
1.1.1 Concept of Tree:
'Tree' is a data sturcture,which is non-linear. It consists of nodes and edges.
1.1.2 Some important concepts:
The only top node is called root.For example,in the picture above,A is the root of the tree.
The nodes connected with nothing is called leaf.For example,in the picture above,nodes with '#' are all leaves of the tree.
When a node's top is connected to another node,we define that the latter one is the parent of the former one.For example,in the picture above,A is the parent of B and C.
When a node's bottom is connected to other node(s),we define that the latter one(s) is(are) child(children) of the former one.For example,in the picture above,B and C are children of B and C.
When some nodes are in the same layer,like D and E in the picture,we call that they are siblings of each other.
When a tree is a part of another tree,we called the former one the subtree of the latter one.
A node's path length means the number of edges traveled by the path from root to the node.
The height/depth of a tree means the length of the longest path in a tree from its root to leaves.
A tree's order means the number of the children of a node that has the most children.
When the most children of a tree's nodes is n,we called the tree n-ary tree.
1.1.3 Traversal
(1)preorder traversal
Access the root first and then access other nodes from left to right.
(2)inorder traversal
Access the left subtree first,then access the root,the last is the right subtree.
(3)postorder traversal
Similar with the traversals above,but access the root last.
1.2 Chapter 16:Binary Search Tree
1.2.1 Concept of Binary Search Tree:
Binary Search Tree is originated from Tree,but has a rule about the arrangements of the contents.
The rule is: When we set a root here, the node that has a smaller element than the root's,should be set as the leftnode of the root.And on the contrary, a node with a bigger element should be set as the rightnode of the root.It goes all the way down according to this rule.
2.Problems and Solutions in Textbook's Learning
Problem 1:
When it comes to the implements of LinkedBinaryTree,the codes in the textbook involves some knowledge of Iterator,which made me confused.
Solution 1:
CSDN:
From here I learned that Iterator is a great way of implementing Tree Traversal.
3.Problems and Solutions in Code Debugging
Problem 1:
When programming PP16.6,the programme just stopped after outputting a single line.
Solution 1:
The problem was found as below:
Code Management
Summary of Mistakes in Exams(Last Week)
Mistake 1:
Typically, in heap implementations, we keep track of the position of the last node or, more precisely, the last leaf in the tree.
A.root
B.internal node
C.leaf
D.tree
Correct Answer:C
Mistake by:A
Conclusion 1:
Just because of carelessness.
Mutual Evaluation
Commented Blogs
- Mutual Blog Evaluation(This Week)
- 20182307
- Paring Study Details
- Tree
- BinarySearchTree
- Mutual Blog Evaluation(Last Week)
Others
Since Tree is a non-linear data structure,it took me a lot of time to comprehend it.Tree has some advantages in searching and sorting,but its travesal,especially when implemented by Inheritance,still requires further study to make sense of.
Progress Bar
CodeLines(New/Accumulation) | Blogs' number(New/Accumulation) | Learning hours(New/Accumulation) | Important progress | |
---|---|---|---|---|
Goal | 10000 lines | 30 blogs | 400 hours | |
Week1 | 208/208 | 2/2 | 9/9 | |
Week2 | 258/466 | 2/4 | 15/24 | |
Week3 | 693/1159 | 2/6 | 22/46 | |
Week4 | 1383/2542 | 2/8 | 30/76 | |
Week5 | 1300/3842 | 2/10 | 22/98 | |
Week6 | 1998/5840 | 2/12 | 24/122 | |
Week7 | 2901/8741 | 2/14 | 30/152 | |
Week8 | 3556/12297 | 2/16 | 30/182 |
20182320《Program Design and Data Structures》Learning Summary Week9的更多相关文章
- 20162314 《Program Design & Data Structures》Learning Summary Of The Ninth Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Ninth Week ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Seventh Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Seventh Wee ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Fifth Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Fifth Week ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Second Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Second Week ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The First Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The First Week ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Eleventh Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Eleventh We ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Tenth Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Tenth Week ...
- 20162314 《Program Design & Data Structures》Learning Summary Of The Eighth Week
20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The Eighth Week ...
- 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记
Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...
随机推荐
- Python学习笔记—自动化部署【新手必学】
前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:唯恋殊雨 目录 pexpect fabric pexpect P ...
- WebAPI接口的自动化测试1
自动化测试要满足四个条件: 1 - 自动化用例能够完成所有测试步骤 -------- postman不支持 没有完整的用例管理系统 2 - 每个用例的输入数据,必须要自动填入 -------- ...
- DENEBOLA (See3CAM_CX3RDK) - CX3 Reference Design
Denebola (See3CAM_CX3RDK) is a USB3.0 USB video class (UVC) reference design kit (RDK) developed by ...
- JS中的防抖和节流
JS-防抖和节流 在进行窗口的resize.scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕.此时我们可以采用debounce(防抖)和 ...
- 【NodeJS】nvm
[NodeJS]nvm node多版本管理 NVM_HOME=C:\env\nvm NVM_SYMLINK=C:\env\nodejs 查看版本 nvm v 查看当前使用的node版本 nvm cur ...
- 201871010119-帖佼佼《面向对象程序设计(java)》第四周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh ...
- Spring Ioc Configration - Annotation
1.配置类注解@Configuration. 2.Bean注解 @Bean. 3.导入其他配置类@Import. 4.回调函数 @Bean(initMethod = "init", ...
- Java 异常规范
1. 只针对异常情况使用异常,不要用异常来控制流程 try { int i = 0; while (true) { range[i++].doSomething(); } } catch (Array ...
- [FPGA] Verilog 燃气灶控制器的设计与实现
燃气灶控制器的设计与实现 一.引述 本次实验所用可编程器件型号为MAXII EPM1270T144C5(其引脚表见本人另一博文:可编程实验板EPM1270T144C5使用说明),通过可编程实验板实现一 ...
- appium+java(八)获取Toast内容信息
前言 Appium中很经典的问题了,在两年前也就是2017年3月6号07:22分,我才看到appium1.6.3版本的发布,更新内容为Ios上可以实现Toast的获取,而Windows也就是安卓端,还 ...