PriorityQueue
,找不到addElement方法和removeMin方法問題1解決方案:html
出錯的方法都是super調用的父類的方法,而這個類是繼承了
LinkedMaxHeap
類, 我去查找LinkedMaxHeap
類,發現它有add方法,我想應該是書上代碼有誤,並且按照註釋的意思這個addElement和add的功能應該是同樣的,因此我將其改爲了add,這樣就沒問題了;而removeMin(),在LinkedMaxHeap
中只有removeMax()方法,我又看了下注釋,git//----------------------------------------------------------------- // Removes the next highest priority element from this queue and // returns a reference to it. //-----------------------------------------------------------------我判斷這裏應該是用removeMax。改了以後才符合註釋的描述數據結構
問題2:以前問題1的兩個方法改完後,還有問題
學習
問題2解決方案:this
詢問老師,老師說在命令行下編譯,看看結果。我試着在命令行下編譯,發現它提示錯誤出在
PriorityQueueNode
類中,因而我打開PriorityQueueNode
類,發現它實現了Comparable接口,用到了泛型,把比較的類型設爲PriorityQueueNode
類型,漏了一個<T>
加上以後就 沒問題了加密
(statistics.sh腳本的運行結果截圖)命令行
20162325設計
結對學習內容調試
本週主要學習了堆、優先隊列和哈夫曼樹,包括實現哈夫曼樹,用哈夫曼樹進行加密解密等等,學完以後,對於樹結構的認識又加深了一些。我的感受非線性結構應該比線性結構要用的多以寫,應爲不少實際問題並不必定能抽象成線性的,因此非線性結構也應當學習的更深刻,方便咱們之後解決實際問題code
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 0/0 | 1/1 | 10/10 | |
第二週 | 0/0 | 0/1 | 15/25 | |
第三週 | 721/721 | 3/4 | 15/40 | |
第四周 | 0/721 | 1/5 | 15/55 | |
第五週 | 1234/1955 | 1/6 | 16/71 | |
第六週 | 0/1955 | 3/9 | 20/91 | |
第七週 | 1474/3429 | 2/11 | 24/115 | |
第八週 | 1010/4439 | 2/13 | 25/140 | |
第九周 | 2409/6848 | 1/14 | 22/162 |
計劃學習時間:25小時
實際學習時間:22小時
改進狀況:還要多花時間,增強學習