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

20172319 2018.09.17-09.23

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

目錄


教材學習內容總結

第五章 隊列:

  • 5.1 概述:
  • 隊列(queue): 一種線性集合,其元素從一端加入,從另外一端刪除。處理方式: 先進先出(First In First Out, FIFO)。
  • 比較FIFO與LIFO兩種處理方式:
    • 棧中:處理過程只在棧的某一端;
    • 隊列中:處理過程可在兩端進行。
  • 隊列的操做html

  • 操做 說明
    enqueue 向隊列末端添加一個元素
    dequeue 從隊列前端刪除一個元素
    first 考察隊列前端的那個元素
    isEmpty 斷定隊列是否爲空
    size 斷定隊列中的元素數目
    toString 返回隊列中的字符串表示
  • 5.6 用鏈表實現隊列:
  • 隊列與棧的主要差異: 要操做鏈表的兩端。
  • 1.需建立兩個引用:一個指向鏈表首元素(head),一個指向鏈表末元素(tail);
  • 2.另需一個整型變量count來跟蹤隊列中的元素數目;
  • 3.若鏈表是單向連接,則應區分往鏈表的哪端添加或入列元素與從哪端刪除或出列元素;
  • 4.enqueue操做中,往前端和末端的添加新元素對應的處理步驟類似:新節點的next指向head,而後head指向新節點;
  • 5.dequeue操做則有所區別:
    • 1.表末端enqueue,表前端dequeue,在進行dequeue時,只需設置一個臨時變量指向鏈表前端的元素,而後把front變量設置爲第一個結點的next指針的值;
    • 2.表前端enqueue,表末端dequeue,需把一個臨時變量設置爲指向鏈表末端的元素,而後將tail指針設置爲指向當前末端以前的結點。
  • 雙向鏈表能夠解決遍歷鏈表的問題,所以無所謂從哪端出入列。
    前端

  • 5.7 用數組實現隊列:
  • 將隊列的某一端固定在數組的索引0處,全部元素不間斷地存放在數組中。
  • 元素移位,dequeue的複雜度爲O(n);
  • 用固定數組實現棧的效率並不高;
  • 環形數組(circular array),數組的最後一個索引後面跟的是第一個索引;能夠去除在隊列的數組實現中元素移位的須要java

  • 5.8 雙端隊列(Deque):
  • 隊列的擴展,容許從隊列的兩端添加、刪除和查看元素。git

返回目錄編程


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

  • 問題1:鏈表編成棧,編成隊列;數組編成棧,編成隊列,你換來、我換去的有什麼用?
  • 解決:
  • 數組、鏈表、棧和隊列是最基本的數據結構,任何程序語言都會涉及到其中的一種或多種;數組

    數組:

    鏈表:

返回目錄數據結構


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

  • 問題1:隊列前端位置元素丟失。
  • 20172301並不在隊列裏;
  • 解決:
  • 經過對代碼順序的更換,咱們發現tostring和first兩個方法的內容發生了衝突;

  • 最後經過對方法的代碼調試,發如今隊頭的元素已被修改,因此致使並不是預期元素:
  • 經過將其修改,最終實現了預想的效果:

返回目錄架構


代碼託管

返回目錄模塊化


上週考試錯題總結

  • 錯題1:無。學習

  • 解決:

  • 錯題2:

  • 解決:

返回目錄


結對及互評

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20172316趙乾宸
    • 博客中值得學習的或存在問題:
    • 20172329王文彬
    • 博客中值得學習的或存在問題:
    • 博客內容充實、排版整齊、對教材內容有通過一番認真思考、繼續保持。

返回目錄


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

返回目錄


學習進度條

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

返回目錄


補充做業

技能 課前評估 課後評估
對編程總體的理解 3 8
程序理解 5.5 8
代碼質量 4 7
架構設計、模塊化設計、接口設計 3 7
效能分析和改進 2.5 6
處理大數據 2.5 7

返回目錄


參考資料

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

返回目錄

相關文章
相關標籤/搜索