1. 程式人生 > >20172319 《程序設計與數據結構》 第三周學習總結

20172319 《程序設計與數據結構》 第三周學習總結

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王文彬
    • 博客中值得學習的或存在問題:
    • 對於異常的解釋有些許誤解。

返回目錄


其他(感悟、思考等,可選)

  • 無。
    返回目錄

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積)
目標 3000行 15篇 300小時
第一周 0/0 1/1 12/12
第二周 935/935 1/2 24/36

返回目錄


參考資料

數據結構(Java實現)之單向鏈表的節點表示、插入、刪除、單向鏈表反轉和串聯
【數據結構】鏈表的原理及java實現
java集合包總結(添加、刪除等操作實現原理)

返回目錄

20172319 《程序設計與數據結構》 第三周學習總結