20172312 2018-2019-1 《程序設計與數據結構》第2周學習總結

學號 2017-2018-2 《程序設計與數據結構》第X周學習總結

教材學習內容總結

第三章

集合概述(棧)

1.集合是一種隱藏了實現細節的抽象。html

2.集合是一種彙集、組織了其餘對象的對象。集合的使用者(軟件系統中的另外一個類或對象)只能經過這些預約的方式和該集合進行交互。編程

3.(回顧)抽象數據類型是一種在程序設計語言中還沒有定義其值和操做的數據類型。ADT必須對實現細節進行定義,且這些定義對用戶是不可見的。數據結構

4.數據結構是一種用於實現集合的編程結構集。集合自己與實現集合的數據結構是分離的,能夠用線性數據結構來實現非線性集合。ide

5.棧的基本使用就是顛倒順序,這和它後進先出的特性有關。學習

6.棧的一個性質——全部操做都是在一端進行的,所以,在中間或者底部刪除、增添就很困難。idea

7.ArrayList可用於存儲任意類型的對象的緣由所在。由於全部對象都是與Object兼容的。設計

第四章

鏈式結構(棧)

1.對象引用變量能夠用來建立鏈式結構,鏈式結構是一種數據結構。對象引用變量存放的是對象的地址,表示對象在內存中的存儲位置。在鏈表中存儲的對象一般泛稱爲該鏈表的結點,注:須要一個單獨的引用變量來表示鏈表的首結點,鏈表終止於其next引用爲空的結點3d

2.指針:引用變量;結點:儲存的對象。指針

3.訪問元素不能直接將指針移到要訪問的元素處,這樣會丟失以前全部的元素。插入結點前要先從新設置指向整個列表的引用。刪除結點要特別注意首結點的刪除方法。調試

4.棧能夠用來模擬遞歸處理,以跟蹤恰當的數據

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

  • 問題1:關於上文中的「訪問元素不能直接將指針移到要訪問的元素處,會丟失以前全部元素」問題不是很理解。
  • 問題1解決方案:百度搜索以後找到了鏈式存儲結構的百科。(https://baike.baidu.com/item/鏈式數據存儲/20956564?fr=aladdin)

    鏈式存儲結構中每一個結點除了包含信息域以外,還至少包含 一個指針域。鏈式存儲結構是用指針來體現數據元素之間的邏輯關係的。利用這種結構,各個數據元素的存儲單元再也不要求是連續的,便可以把邏輯上相鄰的兩個元素存放在物理上不相鄰的存儲單元中,還能夠在線性編址的存儲器中表示非線性關係的結點。
      鏈式存儲結構的主要特色爲:
      結點中除包含保存數據元素的自身信息的信息域外,還有表示數據元素之間的連接信息的指針域,所以比順序存儲結構的存儲密度低,存儲空間的利用率也較低。
      邏輯上相鄰的數據元素在物理上不必定相鄰,可用於存儲線性表、樹、圖等多種邏輯結構。
      插入、刪除操做比較靈活,沒必要移動數據元素,只要改變結點中的指針域的值便可。

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

  • 問題1:在編譯pp3.2的時候出現了選擇繼續輸入語句而退出,以下圖。

     

  • 問題1解決方案:是兩個String字符串之間使用「==」的問題,我回去查了一下==和equals的區別(http://www.javashuo.com/article/p-miqunfsw-mg.html
  • 也就是說此處改爲equals或者在後面加個=ture也能夠。(仍是選擇equals)
  •  

碼雲連接

個人idea沒法鏈接到碼雲,週三會去找老師解決碼雲沒法鏈接的問題並在當天上傳。

結對及互評 —— 見下方評論

參考資料

https://baike.baidu.com/item/鏈式數據存儲/20956564?fr=aladdin

http://www.javashuo.com/article/p-miqunfsw-mg.html

相關文章
相關標籤/搜索