20172332 2017-2018-2 《程序設計與數據結構》第二週學習總結

20172332 2017-2018-2 《程序設計與數據結構》第二週學習總結

教材學習內容總結

第三章 用數組實現棧html

  • 1.集合分爲兩大類:①線性集合:按照順序一個一個排。②非線性集合:存在順序並列的狀況。
  • 2.數據結構是一種用於實現集合的基本編程結構!
  • 3.棧是一種線性集合,後進先出(LIFO),也就是會把保存的數據反序輸出。
  • 4.面向對象的三大特徵:繼承,封裝,多態。
  • 5.在不肯定類型時,能夠定義爲泛型T,而後在以後再改。類定義頭的尖括號中包含指向該類型的引用。
  • 6.棧是計算後綴表達式的理想數據結構,在進行運算時,先把中綴表達式轉爲後綴表達式,而後從左到右掃描,數字入棧,碰見符號,把前兩個數字進行相應的運算而後放入棧中(減法是第二個數減去棧頂的數)。
  • 7.javadoc:一種工具,能夠解析該註釋並能抽取出有關類和方法的信息。javadoc註釋以/**開始,以*/結束。
  • 8.javadoc標籤用於標識特定類型的信息,好比@author標籤就是表示編寫代碼的程序員。
  • 9.異常是一個對象,由程序或運行時環境拋出,能夠捕捉它而且處理,雖然錯誤與異常相似,可是錯誤不能被解決。
    1. 使用ArrayStack實現棧的操做而且用EmptyCollectionException類捕捉異常。

第四章 用鏈表實現棧java

  • 1.鏈表最重要的東西——引用變量(指針)
  • 2.對象引用變量存放的具體位置不重要,重要的是要可以利用該引用變量訪問對象。
  • 3.實現鏈表時,須要一個單獨的引用變量來表示鏈表的首結點,也就是鏈表必須有頭結點,終止於其next引用爲空的結點。
  • 4.鏈表的基本插入節點、刪除節點等功能的實現。
  • 5.雙向鏈表:須要兩個引用,一個指向鏈表的頭結點,另外一個指向鏈表的末結點,每一個結點都存在兩個引用,一個指向下一個元素,一個指向上一個元素。
  • 6.若是在雙向鏈表中使用啞結點,那麼就得在鏈表的兩端都放置啞結點。
  • 7.棧和遞歸的之間的關係是總能夠把一個遞歸程序改寫成使用棧的非遞歸程序。不過此時不是使用遞歸來跟蹤數據,而是建立本身的棧來跟蹤數據。
  • 8.使用鏈表實現的棧和使用數組實現的棧同樣,都須要寫出相應的push、pop等方法。

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

  • 問題1:啞結點是什麼,有什麼做用?
  • 問題1解決方案:啞結點其實就是放在第一個存放數據結點以前、頭結點以後的結點。加入啞結點以後就會方便執行鏈表的一些操做。

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

  • 問題1:git



    錯的緣由。程序員

  • 問題1解決方案:個人那種方法鏈表會斷連不起來。
    編程

代碼託管

上週考試錯題總結

1.The degree to which erroneous situations are handled gracefully is ____________

  • A .Reliability
  • B .Usability
  • C .Efficiency
  • D .Robustness
  • 答案:D ;我選的:A
  • 分析:正確處理錯誤狀況的程度是:健壯性
  • 單詞:1.Robustness:健壯性。

2.Software that is easily portable, can be moved from one computing environment to another with little or no effort.

  • A .True
  • B .Flase
  • 答案:A ;我選的:B
  • 分析:軟件很容易移植,能夠很簡單的從一個計算環境轉移到另外一種計算環境。

點評過的同窗博客和代碼

  • 本週結對學習狀況
  • 上週博客互評狀況
    上週沒評從這周開始。

其餘(感悟、思考等,可選)

  • 由於本週事情不少,並無把怎麼好好學java,下週好好學習。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 0/0 1/1 2/2
第二週 1010/1010 1/2 10/12
  • 計劃學習時間:20小時數組

  • 實際學習時間:10小時數據結構

  • 改進狀況:雖然比上週學習的時間長,可是本週的內容難,仍是沒有學的很清楚。工具

參考資料

相關文章
相關標籤/搜索