本週學習內容較多,主要講了兩個方面:html
雖然都是用於實現棧,但本次的學期又跟之前不太同樣的,在上學期中咱們是利用JavaAPI中自帶的棧類stack
來解決本身的各種問題,但本次咱們咱們須要本身來編寫如何棧類,深刻內部,瞭解更多。java
咱們先寫出了一個接口StackADT
後面的兩個實現方法都實現了這個接口。git
ArrayStack
首先實現接口StackADT
分別重寫push
、pop
、peek
、isEmpty
、size
方法。LindedStack
首先實現接口StackADT
分別重寫push
、pop
、peek
、isEmpty
、size
方法。兩個實現方法差異很是小,不過利用鏈式結構有一個特別大的優點就是在push
操做時不須要像數組通常遍歷全部的元素。數組
其餘的一些內容包括但不限於:數據結構
問題1解決方案:在網上查到了相關的知識Java中雙向鏈表詳解及實例以後瞭解實現方法和其重要的知識:雙向鏈表是一種對稱結構,它克服了單鏈表上指針單向性的缺點,其中每個節點便可向前引用,也可向後引用,這樣能夠更方便的插入、刪除數據元素。架構
因爲雙向鏈表須要同時維護兩個方向的指針,所以添加節點、刪除節點時指針維護成本更大;但雙向鏈表具備兩個方向的指針,所以能夠向兩個方向搜索節點,所以雙向鏈表在搜索節點、刪除指定索引處節點時具備較好的性能。性能
問題2解決方案:Java異常簡介及其架構:Java異常是Java提供的一種識別及響應錯誤的一致性機制。
Java異常機制可使程序中異常處理代碼和正常業務代碼分離,保證程序代碼更加優雅,並提升程序健壯性。在有效使用異常的狀況下,異常能清晰的回答what, where, why這3個問題:異常類型回答了「什麼」被拋出,異常堆棧跟蹤回答了「在哪「拋出,異常信息回答了「爲何「會拋出。學習
ArrayStack
寫LindedStack
時覺得只須要將top稍微改一改就好,結果發現有問題。LindedStack
,感謝他的幫助錯題1及緣由:眼瞎
.net
錯題2及緣由:計算錯誤
錯題3及緣由:難道2n比n的平方階次還高嗎...
理解狀況:不太懂
錯題4及緣由:單詞理解錯誤
理解狀況:並非eliminating而是忽略
忽略
ignore
錯題5及緣由:我記得我選的是True啊...
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/5000 | 2/2 | 8/8 | 認真學習!積極向上 |
第二週 | 812/812 | 1/3 | 22/30 |
計劃學習時間:20小時
實際學習時間:22小時
改進狀況:根據學姐要求改進博客