20172322 2017-2018-2 《程序設計與數據結構》第八週學習總結

20172322 2017-2018-2 《程序設計與數據結構》第八週學習總結

教材學習內容總結

  • 本週學習了分別利用接口和繼承實現多態性。
  • 繼承實現多態性,例如Mammal類是Horse類的父類,則一個Mammal對象能夠指向任何一個Horse類的對象,例如如下代碼
    Mammal pet; Horse secretariat = new Horse(); pet = secretariat;
  • 接口實現多態性,例如聲明一個接口Speaker:
    public interface Speaker { public void speak(); public void announce(String str); }
    引用變量current能夠指向實現Speaker接口的任何類的任何對象。
  • 學會了插入法排序和選擇法排序。
    • 選擇法排序的基本方法是掃描整個數列找到最小值,將最小值與第一個位置的元素交換位置後再次掃描除第一個元素外的其餘元素,找到最小值後與第二個值交換,以此往復,直到排序完成。
      - 例題:
      3 1 9 3 6 2 10
      1 3 9 3 6 2 10
      1 2 3 9 6 3 10
      1 2 3 3 6 9 10
    • 插入法排序是第一個數僅本身後面的一個數字相比較,若是小於後面的數則不動,大於則交換位置,比較完成後與前兩個數和第三個數對比,按照以前的原理放置位置。
      - 例題:
      3 1 9 3 6 2 10
      1 3 9 3 6 2 10
      1 3 9 3 6 2 10
      1 3 3 9 6 2 10
      1 3 3 6 9 2 10
      1 2 3 3 6 9 10

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

  • 本週教材學習問題很少。
  • 問題1:在剛開始學習插入排序法時,誤覺得當一個數符合其規則時不算一個步驟,會直接跳過。
  • 問題1解決方案:通過王老師在課上的講解發現就算它符合其排序規則,也算做一步,已經掃描。

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

  • 問題1:在作做業PP10.5時遇到一個問題,在分析題目的要求事後我開始只是簡單的認爲直接修改Movies類就能夠了,產生了一些沒法實現排序的錯誤。
  • 問題1解決方案:仔細再次讀了書上的Contact類與DVD類做對比,發現了DVD類並無compareTo接口,以後就照着書上的Contact類寫了接口。

代碼託管

上週考試錯題總結

  • 錯題1及緣由:沒有認真看書,幾乎書上原話
    java

  • 理解狀況:雖然書上的原話是這樣,可是我仍是有問題,爲何效率都是N^2呢?按照他們的算法他們的操做次數應該比N^2小應該是N!,效率應該比N^2高吧。還有n log (n)這個效率又是如何獲得的。git

結對及互評

  • 博客中值得學習的或問題:
    • 在寫出學習了插入排序法和選擇排序法後放上了例題,這一點我以爲十分不錯,我也修改了本身的博客也放上了相應的例題,使得後來者看博客時能夠清晰明瞭的瞭解兩種排序法的排序方式。
  • 代碼中值得學習的或問題:
    • 使用了import調用第六週的DVDcollection代碼,使得不用再複製粘貼一次,比較方便

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172303算法

    • 結對學習內容
      • 在範雯琪同窗作PP10.4遇到困難時向她提供思路引導,使得問題變得十分簡單

其餘

  • 感悟:本週的主要時間都花到四則運算項目上去了,還好本週的書上內容不難,學習起來難度不大,可是本週也是第一次體會到了編一個項目的難度。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 242/242 1/4 13/13 增長了對Java的興趣
第二週 297/539 1/5 15/28 發現目標並無想象中那麼難
第三週 315/854 2/7 18/46 忽然發覺JAVA的難度不小
第四周 1269/2123 1/8 50/96 Java難到哭,可是有信心擊敗他!
第五週 737/2860 1/9 30/126 難度的減少激發了學習動力
第六週 542/3402 2/11 20/146 不能說難度變小!!!又難了T T
第七週 956/4357 1/12 35/181 平平淡淡纔是真
第八週 2448/6805 3/15 80/261 四則運算花的時間太多了,還好書上例題的代碼老師給了
  • 計劃學習時間:40小時數據結構

  • 實際學習時間:80小時學習

  • 改進狀況:根據學長對上週博客的建議修改了上週博客,並在本週博客中儘可能避免相似問題發生.net

參考資料

相關文章
相關標籤/搜索