20182305 2019-2020-1 《數據結構與面向對象程序設計》第七週學習總結

20182305 2019-2020-1 《數據結構與面向對象程序設計》第七週學習總結

教材學習內容總結

這一週的學習內容包括教材第十二章、第十四章和第十五章。html

  • 第十二章內容有算法分析,包括效率,方法調用、以及遞歸,主要用來比較不一樣算法之間效率的高低不一樣,增加函數顯示了與問題大小相關的時間或空間利用率。即時間複雜度用於表示這個算法耗時的變化快慢。
  • 第十四章講的是棧。這一章內容多的一批。首先從集合引入,引出棧的概念。棧就相似一摞本子,先放進去的元素被放在下面,後方的在上面。取出時先進棧的元素後出棧,後進棧的元素先出棧。棧經常使用的方法包括入棧(push),彈出棧頂元素(pop),顯示棧頂元素(不彈出)(seek),判斷是否爲空(isEmpty)等等,在這個一過程還學了泛型 。棧能夠用多種方法實現,包括鏈表,數組。
  • 第十五章學習了隊列。也是能夠用多種方法來實現。與棧不一樣,隊列只能從隊尾入隊,從隊列的頭出隊,因此是一個嚴格的順序結構。
  • 在十四十五章學習過程當中,鏈表是一個難點,也是重點。由於鏈表的形式也些許複雜,須要多加註意。

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

  • 問題一:鏈表和數組各有什麼優缺點?兩者相比較有哪些特色?git

    數組比鏈表好在:能根據下標隨機讀取,更加方便靈活,而鏈表要訪問一個結點須要一個個按順序進行讀取,直到讀取到想要的元素;鏈表比數組好在:鏈表比數組節省空間,並且在面對屢次循環,元素數量不肯定時,鏈表能比數組更方便地開空間。同時鏈表也比數組更靈活、方便的增長、刪除元素,尤爲是體如今中間插入時,數組須要依次向後移動元素,而鏈表只須要改變插入位置前一個元素的next指向就能夠。
  • 問題二:對泛型的理解不夠清楚,不明白如何使用。算法

    泛型其實就能夠看成一種普通的變量類型來使用,只不過它的使用不肯定具體某種類型,使程序更加靈活。
  • 問題三:怎麼判斷front = rear 時,隊列到底是空仍是滿?編程

    能夠經過打印隊列的方式,來判斷隊列中是否有內容。有同窗提出能夠判斷rear靠近front的方向,我認爲有些麻煩。

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

  • 問題一:在使用stack.pop()方法時提示空棧異常。數組

    這個問題實際上是出在我對程序的循環控制上,出棧次數大於入棧操做次數,使得最後一次出棧時,棧內沒有任何元素。因此會拋出異常。
  • 問題二: 鏈表的使用。對鏈表的使用不清楚,出現空指針異常,不明白怎樣連接鏈表。數據結構

    反覆實驗和學習後,發現必需要先實例化一個頭,這個頭要在整個連接過程當中保持不變,其餘元素的都要連在他的後面。

    代碼託管

## 結對學習同窗博客(20182327)函數

  • 博客中值得學習的或問題:
    • 分點分章節總結學習內容,全面、真實的寫出了本身這周的學習狀況。
    • 添加了圖片和代碼片斷,很好的記錄了學習過程當中出現的問題,記錄了學習中的點子和想法。有助於記錄本身的學習過程、代碼出錯的狀況,便於後續學習糾錯總結。也能夠更好的總結這一週的學習狀況。
  • 代碼中值得學習的或問題:
    • 善於利用Java語言代碼複用性高的特色,不須要重複敲代碼,善於使用繼承,使用之前瞧過的代碼。
  • 基於評分標準,我給本博客打分:11分。得分狀況以下:正確使用Markdown語法+1.教材學習中的問題和解決過程+2.代碼調試中的問題和解決過程+3.感想,體會不假大空+1.點評認真,能指出博客和代碼中的問題+1.結對學習狀況真實可信+1.課後題有驗證+1,進度條有記錄+1.

點評過的同窗博客和代碼

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

隨着課程深刻,最近的學習內容愈來愈多也愈來愈難,須要佔用不少時間,並且使用的教材和輔導書也有好多本,有時候找資料都會十分麻煩。最近的學習真的好累,也好艱難,感受學習效率都有所降低。學習

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 6000行 30篇 400小時
第一週 200/200 2/2 17/17
第2、三週 556/756 3/5 31/48 明白了類與方法的關係,對Java編程的思想的瞭解有了一些進步
第四周 673/1429 2/7 12/60 對兩段代碼之間的關係瞭解了一些
第五週 1308/2737 2/9 25/85
第六週 800/3537 2/11 18/103
第七週 4195/7732 2/13 27/130
相關文章
相關標籤/搜索