20172304 《程式設計與資料結構》第四周學習總結

來源:互聯網
上載者:User

標籤:log   body   類型   分析   補充   操作   描述   單元測試   git   

20172304 《程式設計與資料結構》第四周學習總結教材學習內容總結

第六章主要介紹了列表,這個列表是一種概念上的籠統的定義。
列表包括鏈表和數組。
列表分為:有序列表,無序列表,索引列表。

有序列表 其元素按照元素的某種內在特性進行排序。
無序列表 其元素件不具有內在順序,元素按照他們在列表中的位置進行排序
索引列表 其元素可以用數字索引來引用

有序列表和無序列表在插入式有區別,有序列表需要做到插入之後還是有序的。而無序列表不是這樣的。而索引列表雖然可以通過索引進行插入,刪除操作,但是還是要保持連續。要做到索引之間是連續的。
java集合API中的列表

方法 描述
add(E element) 往列表的末端添加一個元素
add(int index,E element) 在指定索引出插入一個元素
get(int index) 返回指定索引處的元素
remove(int index) 刪除指定索引處的元素
remove(E object) 刪除指定對象的第一個出現
set(int index,E element) 替代指定索引處的元素
size() 返回列表中的元素數量

使用無序列表:學習計劃
定義了三個類
Course:包含四個變數

教材學習中的問題和解決過程
  • 問題1:有關環形數組的相關問題。
  • 問題1解決方案:一開始真的很懵懂,環?怎麼能把數組掰彎!變成一個環?後來經過長期的艱苦奮鬥,終於理解了,這個環,在我的理解中並不是一個真正的環而是一個邏輯上的環,通過兩個索引值進行標記確定首尾,尾索引可以藉助“rear =(rear+1)%queue.length”這條語句在到達索引值上線時過渡到數組的首端,從而在真正的邏輯上形成一個真正環形數組。
代碼調試中的問題和解決過程
  • 問題1:在進行測試時發現無法引用變數。還有toString方法沒有辦法正常調用

  • 問題1解決方案:後來發現是沒有加運行函數。還有在toString的函數裡沒有將那個環形數組中開頭的索引值隨迴圈做自減運算。
  • 問題2:發現一堆錯誤。

  • 問題2解決方案:最終發現是自己實現的isEmpty方法有問題,後將if的判斷語句由(head.getelement==null)改為(head==null)就OK了。

代碼託管

錯題總結

第三周&第四周錯題
錯題一:

錯題一解答:
棧的pop操作返回的顯然是一個元素而不是一個節點,這是當時馬虎。
錯題二:

錯題二解答:後來在編碼過程中實踐了是正確的。
錯題三:

錯題三解答:後面已經說了不是引用的類型,但是我還是錯選了C,應該選A對象的類型。
錯題四:

錯題四解答:集合中儲存的對象只包含對象本身,並不會有其具體實現的細節。
錯題五:

錯題五解析:這是很明顯得是,在單向列表中,其中常的列印方式必然是從頭部開始的,對應實現的棧的出入棧操作也是在鏈表的頭部,也就是前部實現的。
第五周
錯題一:

錯題一解析:這道題我記得一開始我也想選A來著,知識不知道後來莫名其妙的選擇了B。

補充作業
技能 課前 課後
Programming: Comprehension(程式理解) (如何理解已有的程式,通過閱讀,分析,debug) 4 7
Programming: Design (架構設計, 模組化設計,介面設計) 2 6
Programming: Test (單元測試、程式碼涵蓋範圍) 2 4
Program: Performance (效能分析和改進) 1 5
Programming: Code Review/Code Quality (代碼複審/代碼規範/代碼品質) 1 3
Programming: Command line and files (處理命令列參數和檔案系統) 1 4
Personal Software Process (個人軟體過程) :個人源碼管理(TFS/GitHub) 3 7
部落格互評
  • 部落格中值得學習的或問題:
    20172301 郭愷同學本周的部落格局以往來看略顯遜色,內容不夠飽滿。不過對教材的知識深入的瞭解了。並且也吸收了學姐上周給他的評價,對教材上的知識總結進行了加深。
    20172328 李馨雨同學 不虧為學習部的經營教材內容總結的詳略得當,井井有條,對問題的理解和反省也十分到位,那一手環形數組的圖片更是深深的折服了我。
點評過的同學部落格和代碼
  • 上周部落格互評情況
    • 20172301
    • 20172328
其他(感悟、思考等,可選)
   本周經過了緊張而充分的學習,學會了用鏈表實現隊列用數組實現隊列等。還接觸到了存在於邏輯上的數組——“環形數組”。感覺自己從靈魂上的到了升華。路漫漫其修遠兮,吾將上下而求索。
學習進度條
程式碼數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 30/30 1/1 10/10
第二周 766/796 1/2 40/50
第三周 817/1613 1/3 20/7
參考資料

1.藍墨雲班課
2.java軟體結構與資料結構

---恢複內容結束---

20172304 《程式設計與資料結構》第四周學習總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.