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後加上[]
上週考試錯題總結
無考試數組
結對及互評
評分標準
- 正確使用Markdown語法(加1分)
- 模板中的要素齊全(加1分)
教材學習中的問題和解決過程, 3個問題加3分數據結構
- 代碼調試中的問題和解決過程, 2個問題加2分
- 本週有效代碼超過300分行的(加2分)
- 感想,體會不假大空的加1分
- 排版精美的加一分
- 進度條中記錄學習時間與改進狀況的加1分
- 有動手寫新代碼的加1分
- 課後選擇題有驗證的加1分
- 錯題學習深刻的加1分
- 點評認真,能指出博客和代碼中的問題的加1分
結對學習狀況真實可信的加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小時
參考資料