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. .Net Core 3.0 以及其前版本编写自定义主机,以允许本机程式(转载)

    像所有的托管代码一样,.NET Core 应用程序也由主机执行. 主机负责启动运行时(包括 JIT 和垃圾回收器等组件)和调用托管的入口点. 托管 .NET Core 运行时是高级方案,在大多数情况下 ...

  2. JS中的防抖和节流

    JS-防抖和节流 在进行窗口的resize.scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕.此时我们可以采用debounce(防抖)和 ...

  3. 【Java Web开发学习】Spring MVC 开始配置

    Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ======== ...

  4. Spring AOP应用场景你还不知道?这篇一定要看!

    回顾一下Spring AOP的知识 为什么会有面向切面编程(AOP)? 我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例如日 ...

  5. Mysql添加path变量

    前提: 系统环境:Linux,服务器:阿里云轻量应用服务器 背景: 阿里云轻量应用服务器自带 mysql5.7,但是没有配置环境变量,因此直接输入 mysql -u root -p 将提示 comma ...

  6. 使用 Vue + axios 时,返回状态200,返回值被浏览器拦截

    目录 一.前言 二.解决方案 1. 在全局定义 2. 单独定义 一.前言 在使用 Vue + TypeScript + axios 时,后端已经配置了Cors的前提下,但是在请求接口的时候,返回状态为 ...

  7. 理解django的框架为何能够火起来

    理解django的框架为何能够火起来 https://www.yiibai.com/django/django_basics.html https://code.ziqiangxuetang.com/ ...

  8. ES6对正则的改进(简要总结)

    文章目录 正则的扩展 1. RegExp 构造函数 2. 字符串的正则方法 3. u 修饰符 4. y 修饰符 5. sticky 属性 6. flags 属性 7. s 修饰符:dotAll 模式 ...

  9. 去掉 Idea 中注入 Mapper 警告的方法

    使用 Idea 的时候,自动装配 Mybatis 的 mapper.会一直出现红色波浪线的警告.看着难受.下面提供几种方式 方式一 为 @Autowired 注解设置required = false ...

  10. c++-多态和vptr指针

    多态的原理 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; class Parent { ...