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

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

 
🔗
arieslpx 2017-6-3 10:49:11 | 只看该作者
全局:
intersect里面的corner case真是多到爆炸 感觉有些情况自己真的是考虑不到 还是应该多练习

hw5.png (17.97 KB, 下载次数: 2)

hw5.png
回复

使用道具 举报

🔗
sybilibla 2017-6-10 16:58:51 | 只看该作者
全局:
PartII 蛮难的,对comparable的用法不熟悉,看了documentation还是很晕,最后参考了别人的code才发现要cast。再就是List和ListNode中方法众多,容易忽视其中一些throws Exception的。然后union()和intersect(),需要考虑empty set的情况。


补充内容 (2017-6-11 02:48):
发现intersect()的一个bug:当this.length() < s.length时,this的last node在调用next()时会throw Exception,之后的code会被跳过,导致last node被保留在this中,所以应在调用next()前判断当前node是否为last node
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
liniua 2017-6-13 13:20:41 | 只看该作者
全局:
求教:Set的头 String如何将[  ]改成{  }形式?
Set里override toString()的话无法throws Exception,但不throw的话current.next()又会有问题
===========================
Testing insert()
Set s should be { 3 4 }: [  3  4  ]
Set s2 should be { 4 5 }: [  4  5  ]
Set s3 should be { 3 5 8 }: [  3  5  8  ]

Tesing union()
After s.union(s2), s should be { 3 4 5 }: [  3  4  5  ]
After s2.union(s3), s2 should be { 3 4 5 8 }: [  3  4  5  8  ]
Empty set s4 = [  ]
After s.union(s4), s should be { 3 4 5 }: [  3  4  5  ]
After s4.union(s), s4 should be { 3 4 5 }: [  3  4  5  ]

Tesing intersect()
{}.intersect({1}) should be { }: [  ]
{1}.intersect({}) should be { }: [  1  ]
{1}.intersect({1 2}) should be { 1 }: [  1  ]
{1 2 3}.intersect({1 2}) should be { 1 2 }: [  1  2  ]
{1 2 4 7}.intersect({1 2 3 5}) should be { 1 2 }: [  1  2  ]

Tesing cardinality()
s.cardinality() should be 3: 3
s4.cardinality() should be 3: 3
s5.cardinality() should be 0: 0
s6.cardinality() should be 4: 4
s7.cardinality() should be 2: 2

Process finished with exit code 0
回复

使用道具 举报

🔗
SaltSprayAir 2017-6-15 13:34:45 | 只看该作者
全局:
Part I 简单,Part II 的交集和并集为了满足复杂度,采用了两个node交替增加,然后因为自己名字起得不清楚,搞乱了所以弄了好久TAT
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

头像被屏蔽
🔗
老毒物 2017-7-10 17:56:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

🔗
yywwd 2017-7-17 12:26:26 | 只看该作者
全局:
很多时候,脑子卡住了,干点别的事情,回来可能突然就想明白了。这个part II真的有点难。。。。。
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
yagamy 2017-8-2 08:22:17 | 只看该作者
全局:
本帖最后由 yagamy 于 2017-8-2 10:09 编辑

part I不传了,part II如下。
part II 差点做哭了。。。。做了一整天,后来一compile尽是error,调试了无数遍无数遍。。。
感觉要考虑的条件太多太复杂了,这个烧脑啊~
以及刚开始我自己在union部分调用insertFront() 和insertBack()的时候,没注意到传递到括号里的应该是Object类型,我直接把一个DListNode给传到括号里去了,导致后面一直报错,给我整崩溃了

hw5.PNG (33.75 KB, 下载次数: 0)

hw5.PNG
回复

使用道具 举报

全局:
这次作业做的挺久的
对于Comparable的理解还是不够
加深了对exception的理解,比如即使抛出异常(throw),还是会return相应的值
而try{} catch{}语句中,一旦捕获异常,就是结束try循环,还是会return的,所以在考虑union和intersect的时候一定要注意什么时候会抛出异常
借用了其他楼的测试代码
感谢


回复

使用道具 举报

🔗
elemist 2017-9-12 03:21:42 | 只看该作者
全局:
这次作业感觉比较难,很多概念不清晰,调用时出错,终于做完了!
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

🔗
Victor vshbd 2017-9-14 19:46:14 | 只看该作者
全局:
打卡打卡,第一次用历遍再排序删除,后来别人指点后才用的一个循环迭代, 学到了很多。
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

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

本版积分规则

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