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

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

教材學習內容總結

  • 集合也是一種對象,相似於保存其餘對象的存儲庫。
  • 動態鏈式結構
    • 它很好的解決了數組的長度沒法變更的問題,使得無需在對象更多的狀況下建立新的數組。
    • 它的效率相較於數組較高。
    • 它的大小在使用時動態肯定,而不是聲明時靜態肯定。
    • 單鏈結構最後一個節點爲null,雙向鏈第一個和最後一個節點都爲null
  • 線性數據結構
    • 隊列:先進先出。
    • 堆棧:先進後出。

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

  • 問題1:最初對於鏈表的的理解有些混亂,它的實現是基於什麼?指針到底是如何指向的?
  • 問題1解決方案:向王志強老師詢問了相關問題,王老師爲我解答了這些問題。next指向鏈表的下一個對象,而這個對象中能夠存在不少種類型的對象。相似於PP13.1中,DVDList中的next它指向一個DVD對象,而DVD對象中又存在String類型的"title""director"也有int型的"year"double型的"cost"和boolean型的"bluray",這相似於數組的處理方法,一個對象中存在多種對象。
  • 問題2:隊列也是一種線性數據結構,它與堆棧相似,只是他用代碼又如何實現呢?
  • 問題2解決方案:上百度搜索了相關知識,而且找到了文章《java隊列實現(順序隊列、鏈式隊列、循環隊列)》瞭解了三種隊列的代碼實現。
  • 問題3:樹和圖做爲非線性數據結構的表明,它們的相同點和不一樣點是什麼?
  • 問題3解決方案:
    • 不一樣點:圖沒有相似於樹根節點那樣的初始入口點。
    • 相同點:都可利用數組和動態鏈實現。
  • 問題4:書上並無關於非線性數據結構樹和圖的詳細解釋及代碼實現方案,這使得我這個求知慾望比較強的人沒有感到知足。
  • 問題4解決方案:在百度上查閱相關資料,找到了《樹 及 Java 實現》《數據結構--圖 的JAVA實現(上)》來知足本身的求知慾望。

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

  • 問題1:在看書上例子MagazineList.java時老是感受到有些彆扭,MagazineNode的存在乎義是什麼?
  • 問題1解決方案:詢問王志強老師,老師解釋說,MagazineNode它能夠並在Magazine類中,相似於如下代碼:
public Magazine magazine
public Magazine next;

public Magazine(Magazine mag)
{
    magazine = mag;
    next = null;
}

從以上代碼能夠看出MagazineNode的存在只是書上例子爲了咱們的理解,可是好像拔苗助長。html

  • 問題2:在作PP13.3時,不知道如何實現相關的要求,最初也沒有理解「以整形術做爲節點的鏈表」
  • 問題2解決方案:詢問告終對夥伴範雯琪同窗,而且借鑑了她的部分代碼,在相應位置加上了本身理解的註釋。看懂了她的代碼實現方式,感受到本身本週狀態不是很好。
  • 問題3:在作PP13.3的main函數時,仍是照着書上例子MagazineRack來寫rack.add(new int(1))
  • 問題3解決方案:做爲int型的數,它並不須要new一個int來加入。感受本身這周像個智障
  • 問題4:在作PP13.1時,最初的輸出老是null並且找不到問題,如圖。
  • 問題4解決方案:範雯琪同窗幫我看了看代碼,發現問題是在兩個參數的位置放反了
    ,調整一下以後就沒有問題了。
    以後本身也想通了這個問題,應該是dv的值賦給dvd。

代碼託管


上週考試錯題總結

  • 僥倖本週沒有錯題。

結對及互評

  • 博客中值得學習的或問題:
    • 優勢:許多老師課上所講的只是她都在博客中予以復現,使得從此的複習中更加方便的回憶起老師在課上所講的內容。
    • 不足:在上週我原本是看到她想實現目錄功能纔去本身的博客實現的,結果她到如今仍是沒有目錄功能...
  • 代碼中值得學習的或問題:
    • 優勢:在通過上週的建議事後她將代碼分在了不一樣的文件夾中,這讓查看代碼的人更加方便的查看代碼,她對個人建議的及時採納值得個人學習。
    • 不足:近期的代碼中不存在或者比較少的存在本身的註釋,雖然本身在當時編程時能理解本身的編程方式,可是別人或者本身時間久了之後或許就不是很理解了,我以爲能夠在部分重要行中加入本身的註釋。

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172303java

    • 結對學習內容
      • 範雯琪同窗在我作PP13.1時爲我提供列莫大的幫助,在給我講解了相關問題的同時也並無讓我本身利用她的成果,而是讓我再看一遍代碼而且加上本身的註釋。我以爲有這樣的結對夥伴真是太棒了!

其餘

  • 感悟:本週的實驗內容雖然很快就完成了,可是書上的學習倒是渾渾噩噩。須要調整一下本身狀態。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 242/242 1/4 13/13 增長了對Java的興趣
第二週 297/539 1/5 15/28 發現目標並無想象中那麼難
第三週 315/854 2/7 18/46 忽然發覺JAVA的難度不小
第四周 1269/2123 1/8 50/96 Java難到哭,可是有信心擊敗他!
第五週 737/2860 1/9 30/126 難度的減少激發了學習動力
第六週 542/3402 2/11 20/146 不能說難度變小!!!又難了T T
第七週 956/4357 1/12 35/181 平平淡淡纔是真
第八週 2448/6805 3/15 80/261 四則運算花的時間太多了,還好書上例題的代碼老師給了
第九周 1284/8089 2/17 70/331 IO異常的處理是真的有點難度
第十週 907/8996 1/17 40/371 須要調整本身的狀態!!
  • 計劃學習時間:40小時git

  • 實際學習時間:40小時編程

  • 改進狀況:commit的要求繼續實施,根據學長對上週博客的確定增強本身的信心,我也去學習了一下他人的優秀博客,而且在本身博客中取長補短。數組

參考資料

相關文章
相關標籤/搜索