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小时
改进状况:还要多花时间,增强学习