第十六章:html
樹:java
(1)樹(tree)是包含n(n>=0)個結點的有窮集git
(2)空集合也是樹,稱爲空樹。空樹中沒有結點。數據結構
(3)結點的度:一個結點含有的子結點的個數稱爲該結點的度;ide
(4)葉結點或終端結點:度爲0的結點稱爲葉結點;學習
(5)非終端結點或分支結點:度不爲0的結點;設計
(6)雙親結點或父結點:若一個結點含有子結點,則這個結點稱爲其子結點的父結點;指針
(7)孩子結點或子結點:一個結點含有的子樹的根結點稱爲該結點的子結點;調試
(8)兄弟結點:具備相同父結點的結點互稱爲兄弟結點;code
(9)樹的度:一棵樹中,最大的結點的度稱爲樹的度;
(10)結點的層次:從根開始定義起,根爲第1層,根的子結點爲第2層,以此類推;
(11)樹的高度或深度:樹中結點的最大層次;
(12)堂兄弟結點:雙親在同一層的結點互爲堂兄弟;
(13)結點的祖先:從根到該結點所經分支上的全部結點;
(14)子孫:以某結點爲根的子樹中任一結點都稱爲該結點的子孫。
(15)森林:由m(m>=0)棵互不相交的樹的集合稱爲森林;
2.前序遍歷:從根結點開始,訪問每個結點及其孩子。(A->B->D->E->C)
3.中序遍歷:從根結點開始,訪問結點的左側孩子,而後是該結點,再而後是任何剩餘的結點。(D->B->E->A->C)
4.後序遍歷:從根結點開始,訪問結點的孩子,而後是該結點。(D->E->B->C->A)
5.層序遍歷:從根節點開始,訪問每一層的全部結點,一次一層。(A->B->C->D->E)
第十七章:
二叉查找樹:一棵空樹,或者是具備下列性質的二叉樹
(1)若左子樹不空,則左子樹上全部結點的值均小於它的根結點的值;
(2)若右子樹不空,則右子樹上全部結點的值均大於它的根結點的值;
(3)左、右子樹也分別爲二叉排序樹;
(4)沒有鍵值相等的結點。
平衡二叉查找樹:平衡二叉搜索樹是一種結構平衡的二叉搜索樹,即葉節點高度差的絕對值不超過1,而且左右兩個子樹都是一棵平衡二叉樹。
左旋和右旋:將根結點的左結點或右結點成爲新的根結點,而後使原樹根的左結點的右結點成爲原樹根的新的右結點;
問題1:刪除根出現空指針異常。
問題1解決方案:
深度定義是從上往下的,高度定義是從下往上的。
樹從根結點開始往下數,葉子結點所在的最大層數稱爲 樹的深度。
問題1:
在學習教材的時候,最小生成樹的方法中有這樣一行代碼「resultGraph[][] = Double.Positive_INFINITY」,不是很理解這裏的POSITIVE_INFINITY表明什麼意思。
問題1解決方案: 首先來思考這樣一個問題,在進行浮點數運算的時候,有時咱們會遇到除數爲0的狀況,那咱們該如何解決呢?因此引入了無限這個概念,POSITIVE_INFINITY正是能夠用來表明無限。示例以下
double i = Double.POSITIVE_INFINITY; // i表示爲無限大 public static final double POSITIVE_INFINITY = 1.0 / 0.0;
(1)、首先節點 1 進棧,節點1在棧頂;
(2)、而後節點1出棧,訪問節點1,節點1的孩子節點3進棧,節點2進棧;
(3)、節點2在棧頂,而後節點2出棧,訪問節點2
(4)、節點2的孩子節點5進棧,節點4進棧
(5)、節點4在棧頂,節點4出棧,訪問節點4,
(6)、節點4左右孩子爲空,而後節點5在棧頂,節點5出棧,訪問節點5;
(7)、節點5左右孩子爲空,而後節點3在站頂,節點3出棧,訪問節點3;
(8)、節點3的孩子節點7進棧,節點6進棧
(9)、節點6在棧頂,節點6出棧,訪問節點6;
(10)、節點6的孩子爲空,這個時候節點7在棧頂,節點7出棧,訪問節點7
(11)、節點7的左右孩子爲空,此時棧爲空,遍歷結束。
等等。
本週無錯題
代碼練習較多,問題較爲深邃(至少我看不懂)
基於評分標準我給本博客打分:16分。得分狀況以下:
1.正確使用Markdown語法(加1分)
2.模板中的要素齊全(加1分)
3.教材學習中的問題和解決過程(加3分)
4.代碼調試中的問題和解決過程(加4分)
5.其餘加分(加7分)
6.進度條中記錄學習時間與改進狀況(1)
7.感想,體會不假大空(1)
8.有動手寫新代碼(1)
9.排版精美(1)
10.錯題學習深刻(1)
11.點評認真,能指出博客和代碼中的問題(1)
12.結對學習狀況真實可信(1)
最近java水平感受有所提高,但仍是不太想寫書上的代碼。一開始都沒找到敲代碼的位置,確實有點心態爆炸,但願能在跟上的同時儘可能往前面攆一攆。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 10000行 | 30篇 | 400小時 | |
第7周 | 2000/6373 | 2/2 | 20/20 |