20172319 《程序設計與數據結構》 第三周學習總結
阿新 • • 發佈:2018-09-26
last 資料 字符串表 dequeue 包含 pre deque 創建 cti
20172319 2018.09.17-09.23
《程序設計與數據結構》第3周學習總結
目錄
- 教材學習內容總結
- 教材學習中的問題和解決過程
- 代碼調試中的問題和解決過程
- 代碼托管
- 上周考試錯題總結
- 結對及互評
- 其他(感悟、思考等,可選)
- 學習進度條
- 參考資料
教材學習內容總結
第五章 隊列:
- 5.1?概述:
- 隊列(queue): 一種線性集合,其元素從一端加入,從另一端刪除。處理方式: 先進先出(First In First Out, FIFO)。
- 比較FIFO與LIFO兩種處理方式:
- 棧中:處理過程只在棧的某一端;
- 隊列中:處理過程可在兩端進行。
隊列的操作:
操作 說明 enqueue 向隊列末端添加一個元素 dequeue 從隊列前端刪除一個元素 first 考察隊列前端的那個元素 isEmpty 判定隊列是否為空 size 判定隊列中的元素數目 toString 返回隊列中的字符串表示 - 5.2?JavaAPI中的隊列: 線性集合
後進先出(Last in , first out, LIFO) : 棧的基本使用就是用於顛倒順序;
5.3?使用隊列:代碼密鑰: 已在之前的博客中提過,這裏不再重復敘述。
- 5.4?使用隊列:售票口模擬:
- 中綴表達式:6 - 9
- 後綴表達式:6 9 -
計算過程:由左至右,將掃描到的操作符應用與前面相鄰的兩個操作數
- 5.5?隊列ADT:
異常是一個對象,其定義了一種非正常或錯誤的情況,但其不同於錯誤(無法恢復),其可以被捕獲或適當地處理。
- 5.6?用鏈表實現隊列:
java接口定義了一個抽象方法集,可以將抽象類型的概念與實現分隔開
- 5.6.1?enqueue操作:
- 鏈式結構: 使用對象引用變量(指針)來創建對象之間的鏈接。
鏈表由許多對象構成,每個對象指向了鏈表中的下一個對象。
- 5.6.2?dequeue操作:
訪問元素:從第一個鏈表元素開始,順著鏈表往下進行。
- 5.6.3?其他操作:
訪問元素:從第一個鏈表元素開始,順著鏈表往下進行。
- 5.7?用數組實現隊列:
容量:數組的單元數量,數組一旦創建好,其不可變。
- 5.7.1?enqueue操作:
- 鏈式結構: 使用對象引用變量(指針)來創建對象之間的鏈接。
鏈表由許多對象構成,每個對象指向了鏈表中的下一個對象。
- 5.7.2?dequeue操作:
訪問元素:從第一個鏈表元素開始,順著鏈表往下進行。
- 5.7.3?其他操作:
訪問元素:從第一個鏈表元素開始,順著鏈表往下進行。
- 5.8?雙端隊列:
數組實現棧的一個應用實例,包含棧的一些基本操作。
返回目錄
教材學習中的問題和解決過程
- 問題1:無。
- 解決:
返回目錄
代碼調試中的問題和解決過程
問題1:無法對鏈表的首節點做操作。
解決:可以看到,return獲得的Head本是677,但在實際應用時又變為676,最終使用
System.out.println
- 直接輸出,雖然面板上能看見其在鏈表的頭部,但在內部並沒有接上鏈表,只是先於鏈表前打印。
返回目錄
代碼托管
返回目錄
上周考試錯題總結
錯題1:
解決: 誤選,堆棧可用於保存數據。
錯題2:
- 解決:分不清是2n還是2的n次方。
返回目錄
結對及互評
點評過的同學博客和代碼
- 本周結對學習情況:
- 20172316趙乾宸
- 博客中值得學習的或存在問題:
- 20172329王文彬
- 20172329王文彬
- 博客中值得學習的或存在問題:
- 對於異常的解釋有些許誤解。
- 20172316趙乾宸
返回目錄
其他(感悟、思考等,可選)
- 無。
返回目錄
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | |
---|---|---|---|
目標 | 3000行 | 15篇 | 300小時 |
第一周 | 0/0 | 1/1 | 12/12 |
第二周 | 935/935 | 1/2 | 24/36 |
返回目錄
參考資料
數據結構(Java實現)之單向鏈表的節點表示、插入、刪除、單向鏈表反轉和串聯
【數據結構】鏈表的原理及java實現
java集合包總結(添加、刪除等操作實現原理)
返回目錄
20172319 《程序設計與數據結構》 第三周學習總結