這一週的學習內容爲教材第十6、七章,主要就是和樹有關的內容java
樹。git
二叉樹:每一個節點最多有兩個孩子。若是每一個節點都有兩個孩子,這個樹叫徹底二叉樹。編程
樹的實現:數組
樹的遍歷:遞歸遍歷比非遞歸遍歷更簡單,參照一個順序的遍歷能夠寫出其餘順序的遍歷。數據結構
前序遍歷:先根節點,再左子樹,最後右子樹學習
中序遍歷:先左子樹,再根節點,最後右子樹設計
後序遍歷:先左子樹,再右子樹,最後根節點3d
問題一解決辦法:例如經常使用的儲存和查找。在儲存時設定一個根,就以這個根做爲標準進行比較。比他小遞歸方法進入左子樹去繼續比較,比他大就右子樹處理。可是儲存結束後會出現,這個樹不平衡,某一側數據特別多,致使這顆樹失去平衡。就須要對這個樹進行旋轉。調試
問題二解決方法:從代碼效率來講,確定是遞歸方法更好,由於遞歸方法簡潔,效率高,也節約代碼行數。可是不容易想,也須要嚴格設置遞歸循環終止的條件。不然極易出錯。
root.left = temp;
時,編譯沒有任何報錯,可是運行時會出現空指針異常。提示在打印root的內容處。單步調試發現是在這一句root.left指向temp時沒法正常指向。
仍是要提升效率啊,這樣可不行。 這樣下去,期末的其餘科目但是難以保證。 仍是要增長理解,提升效率。既是提升代碼效率也是提升本身的效率。 加油吧,堅持下去,快放假了。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 6000行 | 30篇 | 400小時 | |
第一週 | 200/200 | 2/2 | 17/17 | |
第2、三週 | 556/756 | 3/5 | 31/48 | 明白了類與方法的關係,對Java編程的思想的瞭解有了一些進步 |
第四周 | 673/1429 | 2/7 | 12/60 | 對兩段代碼之間的關係瞭解了一些 |
第五週 | 1308/2737 | 2/9 | 25/85 | |
第六週 | 800/3537 | 2/11 | 18/103 | |
第七週 | 4195/7732 | 2/13 | 27/130 | |
第八週 | 489/8221 | 1/14 | 6/136 | |
第九周 | 2893/11114 | 3/17 | 30/166 |
計劃學習時間:20小時
實際學習時間:30小時
改進狀況:原本想多分一些時間給其餘科目,結果這段時間裏的課程難度實在是……一言難盡。讓我不得不拿出更多時間來學Java。但願下週的時間能多一些空閒,讓我學一下其餘科目,我不想掛科!!!!!(Wa的一聲)