20172322 《程序設計與數據結構》第二週學習總結

20172322 《程序設計與數據結構》第二週學習總結

教材學習內容總結

本週學習內容較多,主要講了兩個方面:html

  • 利用數組的知識實現棧
  • 利用鏈式結構的知識實現棧

雖然都是用於實現棧,但本次的學期又跟之前不太同樣的,在上學期中咱們是利用JavaAPI中自帶的棧類stack來解決本身的各種問題,但本次咱們咱們須要本身來編寫如何棧類,深刻內部,瞭解更多。java

咱們先寫出了一個接口StackADT後面的兩個實現方法都實現了這個接口。git

  • 利用數組的知識實現棧:寫出ArrayStack首先實現接口StackADT分別重寫pushpoppeekisEmptysize方法。
  • 利用鏈式結構的知識實現棧:寫出LindedStack首先實現接口StackADT分別重寫pushpoppeekisEmptysize方法。

兩個實現方法差異很是小,不過利用鏈式結構有一個特別大的優點就是在push操做時不須要像數組通常遍歷全部的元素。數組

其餘的一些內容包括但不限於:數據結構

  • Javadoc,它除了能夠用於備註外還能夠建立關於類集的HTML文檔,根據王老師透露,JavaJDK就是使用Javadoc實現的。
  • 異常:這個東西很是常見,可是這個東西的構造咱們卻不太清晰。我將在下一部分提到異常。
  • 是否爲線性集合:鏈式結構是線性集合,而數組不是,而且非線性集合也許就沒有任何組織形式
  • 數組的大小是固定的,而且每次擴充須要新建一個更大的數組來存放以前的元素,可是鏈表卻不一樣,它沒有限制。
  • 經過設置哨兵節點和啞節點能夠解決處理第一個節點出現的問題。

教材學習中的問題和解決過程

  • 問題1:雙向鏈表還不太明白。
  • 問題1解決方案:在網上查到了相關的知識Java中雙向鏈表詳解及實例以後瞭解實現方法和其重要的知識:雙向鏈表是一種對稱結構,它克服了單鏈表上指針單向性的缺點,其中每個節點便可向前引用,也可向後引用,這樣能夠更方便的插入、刪除數據元素。架構

    因爲雙向鏈表須要同時維護兩個方向的指針,所以添加節點、刪除節點時指針維護成本更大;但雙向鏈表具備兩個方向的指針,所以能夠向兩個方向搜索節點,所以雙向鏈表在搜索節點、刪除指定索引處節點時具備較好的性能。性能

  • 問題2:異常到底是什麼,它如何產生,在何種狀況下出現,它的構架是什麼?
  • 問題2解決方案:Java異常簡介及其架構:Java異常是Java提供的一種識別及響應錯誤的一致性機制。
      Java異常機制可使程序中異常處理代碼和正常業務代碼分離,保證程序代碼更加優雅,並提升程序健壯性。在有效使用異常的狀況下,異常能清晰的回答what, where, why這3個問題:異常類型回答了「什麼」被拋出,異常堆棧跟蹤回答了「在哪「拋出,異常信息回答了「爲何「會拋出。學習

  • 問題3:哨兵節點和啞節點如何使用?
  • 問題3解決:《啞節點---Merge Two Sorted Lists》《線性鏈表--哨兵節點》ui

代碼調試中的問題和解決過程

  • 問題1:在對照ArrayStackLindedStack時覺得只須要將top稍微改一改就好,結果發現有問題。
  • 問題1解決辦法:向王文彬同窗學習了相關的知識,修改了LindedStack,感謝他的幫助

代碼託管

上週考試錯題總結

  • 錯題1及緣由:眼瞎
    .net

  • 理解狀況:下次記得好好看題
  • 錯題2及緣由:計算錯誤

  • 理解狀況:別由於這些小問題錯題啊,不該該啊。
  • 錯題3及緣由:難道2n比n的平方階次還高嗎...

  • 理解狀況:不太懂

  • 錯題4及緣由:單詞理解錯誤

  • 理解狀況:並非eliminating而是忽略
    忽略
    ignore

  • 錯題5及緣由:我記得我選的是True啊...

結對及互評

  • 博客中值得學習的或問題:
    • 範雯琪同窗的博客課本上的學習內容總結部分寫得十分詳細,值得學習。
    • 錯題部分雖然比較明瞭,可是使用非圖片方法我以爲會浪費一些時間,直接以圖片形式放上去或許能夠有更多時間放在問題的理解上。
  • 代碼中值得學習的或問題:
    • commit提交的解釋清晰明瞭,我以爲我應該學習。
    • 有許多代碼的問題都是我向她詢問,我很感謝她

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172303

    • 結對學習內容
      • 我一開始對棧的實現有一些疑問,通過了她的耐心講解後我豁然貫通。

其餘

  • 感悟:學習是一個長久的過程,須要努力努力再努力。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 0/5000 2/2 8/8 認真學習!積極向上
第二週 812/812 1/3 22/30
  • 計劃學習時間:20小時

  • 實際學習時間:22小時

  • 改進狀況:根據學姐要求改進博客

參考資料

相關文章
相關標籤/搜索