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

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

教材學習內容總結

  • 時間複雜度:增加函數與大O符號。增加函數代表問題大小(n)與但願優化的值之間的關係。該函數表示時間複雜度或空間複雜度。漸進複雜度稱爲算法的階。記爲O(n)
  • 時間複雜度越低,程序運行效率越高。時間複雜度的計算可經過尋找運行次數最多的程序,計算他的運行次數,取n的最高次方的極數,即爲程序的時間複雜度
    前端

  • 棧能夠理解爲一類數據的集合,棧中的元素能夠寫入,也能夠讀出。元素存在前後次序。先入棧的先被讀出。棧可用數組,鏈表兩種形式實現。
    node

  • 有push,pop,peek,isempty,size等經常使用操做
    git

  • 鏈式結構是基於數組的集合實現的主要代替方案,鏈表是一種鏈式結構,自引用式構成了鏈表的基礎,在鏈表中存儲的對象一般泛稱爲結點node
  • 隊列是一種線性集合,元素從一段加入從另外一端刪除(先進先出)。
  • 隊尾(tail),隊首(head),隊列前端(front),隊列末端(rear)。算法

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

  • 問題1:Queue接口兩種方法add和offer在異常類處理上有何不一樣。
  • 問題1解決方案:二者都是往隊列尾部插入元素,不一樣的時候,當超出隊列界限的時候,add()方法是拋出異常讓你處理,而offer()方法是直接返回false
  • 問題2:鏈表和數組的優缺點?
  • 問題2解決方案:數組比鏈表好在:能根據下標隨機讀取,鏈表要訪問一個結點須要一個個摸過去;
    鏈表比數組好在:鏈表比數組節省空間,並且在面對屢次循環,元素數量不肯定時,鏈表能比數組更方便地開空間。

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

  • 問題1:在用數組實現棧時,但數組下標會隨着插入,刪除,排序而改變
  • 問題1解決方案:固定節點將數值放到每一個節點盒子裏,因此這樣數組下標能夠保持不變
  • 問題2:用泛型定義的數組在實例化時出現問題。
  • 問題2解決方案:泛型定義實例化的時候在T後加上[]

代碼託管

上週考試錯題總結

無考試數組

結對及互評

評分標準

  1. 正確使用Markdown語法(加1分)
  2. 模板中的要素齊全(加1分)
  3. 教材學習中的問題和解決過程, 3個問題加3分數據結構

  4. 代碼調試中的問題和解決過程, 2個問題加2分
  5. 本週有效代碼超過300分行的(加2分)
  6. 感想,體會不假大空的加1分
  7. 排版精美的加一分
  8. 進度條中記錄學習時間與改進狀況的加1分
  9. 有動手寫新代碼的加1分
  10. 課後選擇題有驗證的加1分
  11. 錯題學習深刻的加1分
  12. 點評認真,能指出博客和代碼中的問題的加1分
  13. 結對學習狀況真實可信的加1分函數

點評模板:

  • 博客中值得學習的或問題:
    • 排版很好
  • 代碼中值得學習的或問題:
    • 代碼增加量多,說明結對的同窗這周很努力的在學習Java,我也要努力學習Java了
    • 倉庫有點混亂
  • 參考示例

點評過的同窗博客和代碼

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

學習內容愈來愈多,任務量也是愈來愈大,而後好多知識都要自學,有點跟不上節奏了學習

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積)
目標 5000行 30篇 400小時
第一週 200/200 2/2 20/20
第二週 300/500 2/4 18/38
第三週 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90
第五週 1526/2986 2/9 20/115
第六週 837/3823 2/11 20/135
第七週 1639/5462 2/13 20/155
  • 計劃學習時間:20小時優化

  • 實際學習時間:20小時

參考資料

相關文章
相關標籤/搜索