20182309 2019-2020-1 《數據結構與面向對象程序設計》第7周學習總結

20182309 2019-2020-1 《數據結構與面向對象程序設計》第7周學習總結

教材學習內容總結

  • 12 算法分析
    • 算法效率
    • 增加函數及比較
    • 循環、遞歸的效率
  • 14 棧
    • 先進後出的集合
    • push加入元素到頂端
    • pop刪除並返回頂端元素
    • peek查看但不刪除頂端元素
    • isEmpty判斷棧是否爲空
    • size判斷棧中元素個數
    • 輸出全棧時會按進入順序輸出
    • 用數組實現棧
    • 用鏈表實現棧
  • 15 隊列
    • 先進先出的集合
    • enqueue入隊
    • dequeue出隊
    • first顯示隊首
    • isEmpty是否爲空
    • size元素個數
    • 用數組實現隊列
    • 用鏈表實現隊列

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

  • 問題1:數組實現隊列時,數組會愈來愈大
  • 問題1解決方案:使用環形數組,數組大小固定,頭尾相連。
  • 問題2:泛型T和E的區別
  • 問題2解決方案: E-Element在集合中使用,由於集合中存放的是元素;通常使用 來聲明類型持有者名稱。自定義泛型類時,類持有者名稱能夠使用T(Type)
    若是是容器的元素能夠使用E(Element)

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

  • 問題1:當頭尾重合時,有滿和空兩種狀況
  • 問題1解決方案:判斷最後一步作的是出隊仍是入隊,設一個flag與isEmpty一塊兒判斷。

代碼託管

結對及互評

  • 代碼中值得學習的或問題:
    • 提出與課本不一樣的方法解決問題
  • 基於評分標準,我給本博客打分:11分。得分狀況以下:
    • 正確使用Markdown語法加1分
    • 模板中的要素齊全加1分
    • 教材學習中的問題和解決過程, 二個問題加2分
    • 代碼調試中的問題和解決過程, 一個問題加1分
    • 本週有效代碼超過300分行的加2分
    • 排版精美的加1分
    • 代碼Commit Message規範的加1分
    • 有動手寫新代碼的加1分
    • 結對學習狀況真實可信的加1分

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20182331
      • 閱讀課本章節內容
      • 代碼託管到碼雲上
      • 完成課後自測題,並參考答案學習
      • 完成課後練習題html

        學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 10000行 30篇 400小時
第一週 138/138 2/2 25/25 學會寫和上傳代碼,會編簡單的輸出程序
第二週 88/226 1/3 30/55 起文件名不能太長
第三週 898/1124 2/5 35/90 Java類裏面的方法和C語言的函數很像
第四周 632/1756 2/7 30/120 能夠用繼承extends簡化重複的代碼
第五週 770/2526 2/9 45/165 --amend -m能夠重命名沒push的文件
第六週 3947/6473 2/11 40/205 接口類的功能要分散,利用多繼承完成功能
第七週 1359/7832 3/14 35/240

參考資料

相關文章
相關標籤/搜索