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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 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 ...

  7. 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 ...

  8. 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 ...

  9. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

随机推荐

  1. Django(一):url路由配置和模板渲染

    urls.py路由用法 url基本概念 url格式 urls.py的作用 url解析过程 include的作用 kwarg的作用 name的作用 URL概念 URL(Uniform Resoure L ...

  2. 【ZooKeeper系列】2.用Java实现ZooKeeper API的调用

    温馨提示:在这里我再次提个小要求,希望大家能习惯看官方文档,文档虽然是英文但用词都比较简单,基本都能看懂文档表达的意思.授之以鱼不如授之以渔的道理相信大家都明白,也希望通过猿人谷的这个ZooKeepe ...

  3. electron中JS报错:require is not defined的问题解决方法

    Electron已经发布了6.0正式版,升级后发现原来能运行的代码报错提示require is not defined 解决办法: 修改创建BrowserWindow部分的相关代码,设置属性webPr ...

  4. TOMCAT_server.xml

    该文件描述了如何启动Tomcat Server <Server>    <Listener />    <GlobaNamingResources>    < ...

  5. 输出错误long类型

    Microsoft Visual C++ 输出不了long 类型的数字怎么办? 在C/C++中,64为整型一直是一种没有确定规范的数据类型.现今主流的编译器中,对64为整型的支持也是标准不一,形态各异 ...

  6. 使用Portainer集中管理多地域内网运行的Docker实例

    1. 单机运行的Docker 容器化部署是现在进行时,开源应用大多数支持容器化部署 在少量机器的场景下往往采用docker cli 和 docker-compose管理,进行"单机式管理&q ...

  7. LCT能干啥???

    LCT能干啥       模板:   维护可加的树链信息:询问都是一条链上的信息:维护方式和线段树差不多: 增加一条边: 删除一条边: 修改一个点权: 修改一条路径上的所有点的点权:     整体来说 ...

  8. QQ音乐接口api,包括付费音乐、无损音乐、高品质音乐地址解析接口api

    QQ音乐网站所有音乐(包括付费.无损等版权音乐解析接口地址url). mp3 普通高品 http://dl.stream.qqmusic.qq.com/M5000012gqVh4fFvVK.mp3?v ...

  9. 面试连环炮系列(十四): HTTP状态码302的跳转逻辑

    HTTP状态码302的跳转逻辑 302状态码表示重定向,浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地 ...

  10. c++之数据的输入和输出

    ; cout<<"请输入a的值:"<<endl; cin>>a; cout<<a<<endl;