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

來源:互聯網
上載者:User

標籤:運行時   水平   第二周   結束   導致   方式   總結   對象   目標   

20172311《程式設計與資料結構》第四周學習總結教材學習內容總結第六章 列表
  • 列表可以使用鏈表或數組來實現
  • 隊和棧的元素只能在末端添加和刪除,而列表集合更一般化,可以在列表的中間和末端添加和刪除元素
  • 列表可以分為有序列表、無序列表和索引列表
  • 有序列表往列表添加新元素,就要尋找新元素相對於所有已有元素的正確排序
  • 無序列表中的元素按使用者所選擇的任意方式排序
  • 索引列表為它的元素維護一段連續的數字索引值
  • 索引列表和數組的根本區別在於:索引列表的索引值總是連續的
  • 為了使某個對象能使用序列化進行儲存,其類必須實現Serializable,在Serializable介面中並沒有任何方法,它只是表明該對象可以轉換為序列化表示形式
  • 索引列表特有的操作,可以利用其索引來很好地使用引用元素
  • 只有Comparable對象才能儲存在有序列表中
教材學習中的問題和解決過程
  • 問題1:隊列的數組實現中,環形數組是如何?以及發揮作用的
  • 問題1解決方案:
    通常,一個元素入列後,rear的值要遞增。但當enqueue操作填充了數組的最後一個單元時,rear的值必須設定為0,表明下一個元素應該儲存在索引0處。下面的程式碼將正確地更新rear的值:
rear = (rear+1)% queue.length;
  • 問題2:使用環形數組實現隊列中擴大數組容量的具體是如何?的
  • 問題2解決方案:
    1.使用如下代碼執行個體化一個容量為原數組兩倍的數組
T[] larger=(T[]) (new Object[queue.length*2]);

2.使用如下代碼將原數組裡的元素複製到新數組裡

for (int scan = 0; scan < count; scan++)        {            larger[scan] = queue[front];            front = (front + 1) % queue.length;        }

3.使用如下代碼重新確立front指標和rear指標並將新數組再賦給原數組

front = 0;        rear = count;        queue = larger;  
代碼調試中的問題和解決過程
  • 問題1:pp5.1LinkedQueue類的測試類別在運行時列印佇列的方法有問題,導致列印內容呈現出亂碼的形式,如:

  • 問題1解決方案:
    經過仔細檢查發現是toString()方法存在問題,再通過調試發現是紅圈標註部分出現的問題,恰當改正之後問題得以解決,改正後代碼及運行如下:

代碼託管

上周考試錯題總結

待定

補充作業

你認為對你特別重要的技能,記下你目前的水平,和你想在課程結束後達到的水平

我認為對我特別重要的技能 我目前的水平 我想在課程結束後達到的水平
Comprehension(理解程式) 能夠理解一些初級代碼並能夠簡單運用debug 能夠較好地理解複雜代碼並熟練運用debug
Design(架構設計、模組化設計、介面設計) 能夠進行簡單程式的設計 能夠對較複雜的程式進行較好的設計
Performance(效能分析和改進) 基本不考慮這方面,只考慮能否正常運行 能夠盡量提高程式的效能
Test(單元測試、程式碼涵蓋範圍) 單元測試基本掌握,代碼的覆蓋率基本不考慮 提高降低程式碼涵蓋範圍的能力
BigData (大資料) 基本不會處理大資料 能夠較輕鬆的處理大資料
結對及互評
  • 本周結對學習情況
    對課本上的諸多疑問點進行了討論,同時對代碼實現過程中遇到的一些問題也通過討論得以解決
    • 20172307
感想

繼續努力!

學習進度條
程式碼數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 0/0 1/1 4/4
第二周 464/464 1/2 10/14 理解掌握了用數組和鏈表實現棧的方法
第三周 494/494 1/3 10/24 理解掌握了用數組和鏈表實現隊列的方法
  • 計劃學習時間:15小時

  • 實際學習時間:10小時

  • 改進情況:注重動手能力!

參考資料
  • Java軟體結構與資料結構(第4版)

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.