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. Python 电路绘制库 schemdraw 你会吗?【面试必学】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:skyztttt 引子 由于最近在学习ardunio的使用,其中牵涉到绘 ...

  2. ARTS-S govendor

    govendor init govendor add +external

  3. unix环境高级编程中的err_quit,err_sys用到的知识点

    unix环境高级编程中的err_quit,err_sys 环境 os CentOS release 6.7 (Final) gcc 4.4.7 c语言预备知识 标准输入输出文件 在linux系统中一切 ...

  4. Nginx安装echo模块echo-nginx-module

    https://github.com/openresty/echo-nginx-module 这个模块不包含在 Nginx 源码中,安装方法: 1. 首先下载模块源码:https://github.c ...

  5. ASP.NET Core开发者指南()

    你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者.“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,我把这张图作为建议 ...

  6. Codeforces Round #592 (Div. 2)

    A. Pens and Pencils 题目链接:https://codeforces.com/contest/1244/problem/A 题意: 给定五个数 a , b , c , d , k 求 ...

  7. GHOST CMS - Package.json

    Package.json The package.json file is a set of meta data about a theme. package.json 文件是一组关于主题的元数据. ...

  8. 初步了解JVM第三篇(堆和GC回收算法)

    在<初步了解JVM第一篇>和<初步了解JVM第二篇>中,分别介绍了: 类加载器:负责加载*.class文件,将字节码内容加载到内存中.其中类加载器的类型有如下:执行引擎:负责解 ...

  9. 基于C# WPF框架的贪吃蛇

    游戏开始界面 游戏开始 共有两条蛇,吃到红色食物加1分,吃到绿色毒食物减1分,知道0不减: 碰到墙壁游戏结束,碰到对方游戏结束,碰到自己游戏结束 此游戏通过Canvas画布布局,通过C#代码实现 游戏 ...

  10. C#线程学习笔记十:async & await入门三

    一.Task.Yield Task.Yield简单来说就是创建时就已经完成的Task,或者说执行时间为0的Task,或者说是空任务,也就是在创建时就将Task的IsCompeted值设置为0. 我们知 ...