1. 程式人生 > >20172318 2017-2018-2 《程序設計與數據結構》第8周學習總結

20172318 2017-2018-2 《程序設計與數據結構》第8周學習總結

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周學習總結