20172318 2017-2018-2 《程序設計與數據結構》第8周學習總結
阿新 • • 發佈:2018-05-02
embed cnblogs 教程 結構 enc head RR 引用 問題:
20172318 2017-2018-2 《程序設計與數據結構》第8周學習總結
教材學習內容總結
- 後綁定:延遲到程序執行時的一個方法調用與一個方法定義的綁定
- 由繼承實現多態性:一個引用變量可以指向有繼承關系的任何類的任何對象,實際將調用的方法取決於對象的類型而不是引用變量的類型
- 利用接口實現多態性:接口名可以用於聲明對象引用變量,一個接口引用變量可以指向實現該接口的任何類的任何對象
- 方法的參數可以是多態性的,使得方法所接收對象的參數具有靈活性
- 選擇法排序:選擇法排序算法通過相繼的將各值放在自己的最終位置(排序後的位置)來實現數值的有序排列
- 插入法排序:不斷地將新元素插入到已排好序的數列子集中
- 以多態性方式實現的排序算法可對任何一組可比較的對象排序
- 排序算法的比較:如果一種算法執行的比較操作比另一種更多,則前者是效率更低的算法
- 線性搜索:從數列的起點開始,將目標元素依次與每一個值進行比較,最終找到目標元素,或者搜索到數列的終點後發現數列中不存在目標元素
- 二分搜素:從有序數列的中點開始搜索,如果中點元素不是目標元素,則繼續搜索,如1~9的數列要找到7,會在確認5不是目標元素後向6~9的中點搜索,這時中點為7.5,會忽略小數部分,找到目標元素7
- 多態性允許用一樣的方法實現不一樣的行為
教材學習中的問題和解決過程
- 問題1:
- 問題1解決方案:
- 問題2:
- 問題2解決方案:
代碼調試中的問題和解決過程
- 問題1:
問題1解決方案:
- 問題2:
- 問題2解決方案:
- 問題3:
問題3解決方案:
代碼托管
上周考試錯題總結
- 錯題1及原因,理解情況
Polymorphism is achieved by
A . overloading
B . overriding
C . embedding
D . abstraction
E . encapsulation
選B,多態性靠重寫實現 - 錯題2及原因,理解情況
Comparing the amount of memory required by selection sort and insertion sort, what can one say?
A . Selection sort requires more additional memory than insertion sort
B . Insertion sort requires more additional memory than selection sort
C . Both methods require about as much additional memory as the data they are sorting
D . Neither method requires additional memory
E . None of the above
選D,兩種方法都不需要額外內存 - 錯題3及原因,理解情況
Can a program exhibit polymorphism if it only implements early binding?
A . Yes, because one form of polymorphism is overloading
B . No, because without late binding polymorphism cannot be supported
C . Yes, because so long as the programs uses inheritance and/or interfaces it supports polymorphism
D . Yes, because early binding has nothing to do with polymorphism
E . none of the above
選A,重載也是多態性的一種形式 - 錯題4及原因,理解情況
It is possible to sort an array of int, float, double or String, but not an array of an Object class such as a CD class.
A . true
B . false
選B,這題答題想的是B,應該是手滑選了A,可以對對象數組進行排序 - 錯題5及原因,理解情況
A reference variable can refer to any object created from any class related to it by inheritance.
A . true
B . false
選A,一個引用變量可以指向有繼承關系的任何類的任何對象,課本原話
點評模板:
- 博客中值得學習的或問題:
- 對教材內容解析的非常到位
- 代碼中值得學習的或問題:
UML會畫不會導入的我還得好好學習學習
點評過的同學博客和代碼
- 本周結對學習情況
- 20172312
- 結對學習內容
- 課本第九章
- 實驗2
- 上周博客互評情況
- 20172312
其他(感悟、思考等,可選)
課本簡單實驗難
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 128/128 | 1/1 | 12/12 | |
第二周 | 212/340 | 1/2 | 18/30 | |
第三周 | 206/546 | 1/3 | 20/50 | |
第四周 | 483/1029 | 2/5 | 40/90 | |
第五周 | 633/1662 | 1/6 | 30/120 | |
第六周 | 560/2222 | 1/7 | 20/140 | |
第七周 | 511/2733 | 1/8 | 20/160 | |
第八周 | 817/3550 | 3/11 | 25/185 |
參考資料
《Java程序設計與數據結構教程(第二版)》
《Java程序設計與數據結構教程(第二版)》學習指導
20172318 2017-2018-2 《程序設計與數據結構》第8周學習總結