楼主: jaly50
跳转到指定楼层
上一主题 下一主题
收起左侧

Berkeley CS 61B Data Structures(in Java) Homework4 加分+讨论帖

 
🔗
josephdesire 2015-5-7 09:37:36 | 只看该作者
全局:


交作业啦~~
回复

使用道具 举报

🔗
cmq859 2015-5-11 12:40:31 | 只看该作者
全局:




回复

使用道具 举报

🔗
jy_121 2015-5-13 14:40:54 | 只看该作者
全局:
本帖最后由 jy_121 于 2015-5-13 15:20 编辑

part3卡住了,看了大神们的讲解才调了出来,但是感觉还是有点似懂非懂,先交了作业再研究下。
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
wynnforce 2015-5-25 16:06:29 | 只看该作者
全局:
本帖最后由 enirinth 于 2015-5-25 16:08 编辑

先贴作业~~~TestDList:






TestLockDList:



要override的函数:
remove()和newNode()是自然,另外要改front()和back():
  1. public LockDListNode front() {
  2.     return (LockDListNode)(super.front());
  3. }
复制代码
1.我感觉很多人有误解,题目总强调method signature不变.实际上signature仅仅是只函数名+param list. signature是不包含return type的....你总可以在overriden的函数里return一个more specific的return type. 不敢改return type会导致写不出来...
2.front和back的return type要改是因为method call严格按照static type,这是个资格问题;虽然call的实际内容是dynamic type.


求加分呀求加分~~~冲击高农中.....

评分

参与人数 2大米 +11 学分 +1 收起 理由
fubupc + 1 学习了,原来 signature 是这个意思。。
AveMaleficum + 10 + 1

查看全部评分

回复

使用道具 举报

🔗
wayof 2015-5-26 18:41:00 | 只看该作者
全局:
Homework 4交作业了。

另外Homework 2的学分还没有加,请版主帮忙加以下。
Thx~
Homework 2链接
www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=97734&extra=page%3D1%26filter%3Dsortid%26sortid%3D309&page=7



更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
ypandxy 2015-5-28 10:49:28 | 只看该作者
全局:
本帖最后由 ypandxy 于 2015-5-28 10:51 编辑
czbnlzd920706 发表于 2015-4-27 08:28
这次作业一开始轻视了。然后做到part3的时候才发现,有难度,而且难度不在于算法构造,而在于对于Java多态 ...

我一直很纠结的问题是,LockDListNode的构造函数中,难道prev和next不应该都变化成指向LockDListNode的类型吗?看了你的分析,不知道这样理解是正确的么,就是“虽然每个LockDListNode里面的指针prev和next的static type都是DListNode,但他们实际指向的都是拥有LockDListNode类型的实体”
回复

使用道具 举报

🔗
ypandxy 2015-5-28 10:52:05 | 只看该作者
全局:
可悲的是概念懂了,不代表你真正懂

回复

使用道具 举报

🔗
czbnlzd920706 2015-5-29 00:35:24 | 只看该作者
全局:
ypandxy 发表于 2015-5-28 10:49
我一直很纠结的问题是,LockDListNode的构造函数中,难道prev和next不应该都变化成指向LockDListNode的类 ...

对。他们其实都是指向LockListNode 这个内存块。但是可见范围有不同。即 DlistNode 和 LockListNode 可以看到这块内存块的范围不同。 我没系统学习过Java,所以讲的都是没学术性语言,见谅。我觉得应该就是这么理解的。

评分

参与人数 1大米 +5 收起 理由
ypandxy + 5 好棒!

查看全部评分

回复

使用道具 举报

🔗
小小溪 2015-5-30 01:19:17 | 只看该作者
全局:
一开始没看toString,不知道head一直指向sentinel node。。。 😂

BTW,觉得LockDList.java里的remove可以再简单一些
        @Override
        public void remove(DListNode node) {
                if(((LockDListNode) node).locked) {
                        return;
                }
                super.remove(node);
        }
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
小小溪 2015-5-30 01:23:47 | 只看该作者
全局:
我觉得有些同学可能没懂。LockDList.java 只要override newNode() 和 remove(), 再写一个lockNode(), 就行了。不用写别的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表