[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 9979|回复: 157
收起左侧

Berkeley CS 61B Data Structures(in Java) Lab4 讨论帖

  [复制链接] |试试Instant~ |关注本帖
jaly50 发表于 2014-5-30 23:55:09 | 显示全部楼层 |阅读模式

[其他]CS 61B Data Structures(in Java) #1 - 2014-05-30@Berkeley

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
本帖最后由 jaly50 于 2014-5-31 00:18 编辑

Lab不加分
但大家还是可以上传作业输出 保持进度
或者在相应lab贴里进行相关知识点的讨论

我看的是06年的视频
所以开始做06年的作业
看了一下  这次作业 14年和06年的要求是一样的
是关于双链表的作业
大家看完第8课视频就可以写了

作业链接:   http://www.cs.berkeley.edu/~jrs/61bf06/lab/lab4/

lab4_1

lab4_1

Lab4_2

Lab4_2





相关链接:      

       【公开课讨论+加分总贴】:UC Berkeley CS 61B Data Structures(in Java)
       【课程网站】:http://www.cs.berkeley.edu/~jrs/61b/
       【视频网站】:【Youtube】【Youku

        【教材】:Head First Java 【中文版】【英文版
                      Data Structures and Algorithms in Java, 5th Edition. 【英文版

评分

1

查看全部评分

greatlim 发表于 2018-2-9 17:15:20 | 显示全部楼层
  1. /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=52029:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Users/Lim/@inbox/cs61b14/lab/lab4/out/production/lab4 DList1
  2. ### TESTING insertFront ###
  3. Empty list is [  ]

  4. Inserting 9 at front.
  5. List with 9 is [  9  ]

  6. Inserting 8 at front.
  7. List with 8 and 9 is [  8  9  ]


  8. ### TESTING removeFront ###
  9. List with 1 and 2 is [  1  2  ]

  10. Removing front node.
  11. List with 2 is [  2  ]

  12. Removing front node.
  13. Empty list is [  ]

  14. Removing front node.
  15. Empty list is [  ]

  16. Process finished with exit code 0
复制代码
  1. /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java "-javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=51938:/Applications/IntelliJ IDEA CE.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath /Users/Lim/@inbox/cs61b14/lab/lab4/out/production/lab4 DList2
  2. ### TESTING insertFront ###
  3. Empty list is [  ]

  4. Inserting 9 at front.
  5. List with 9 is [  9  ]

  6. Inserting 8 at front.
  7. List with 8 and 9 is [  8  9  ]


  8. ### TESTING removeFront ###
  9. List with 1 and 2 is [  1  2  ]

  10. List with 2 is [  2  ]

  11. Empty list is [  ]

  12. Empty list is [  ]

  13. Process finished with exit code 0
复制代码

总结下:
(2)Dlist1的remove需要考虑size==1的情况,移除唯一的元素后,head = null, 这时候 head.prev 是不存在的,因为null既不是对象也不是一种类型,它仅是一种特殊的值。同时也必须对tail进行讨论,使得tail = null,不然java可能不能回收这个空间。
(1)Dlist2有了sentinel后可以避免上述的讨论
回复 支持 1 反对 0

使用道具 举报

全球28万学生4.7分推荐
zhuyingcau 发表于 2016-7-8 10:20:55 | 显示全部楼层
lab 4

似乎有sentinel比无sentinel的好处就是,insert的时候不用讨论链表为空的情况,remove的时候不用讨论链表为1的情况,因为有sentinel的链表可以将head的prev和next指向head本尊。但是remove还是需要讨论链表是否为空,因为不能把head删掉啊~





no sentinel:

lab4_1_result.jpg


sentinel:

lab4_2_result.jpg

回复 支持 1 反对 0

使用道具 举报

voiding 发表于 2014-9-6 02:24:37 | 显示全部楼层
总结 下来就是 在 singly linked list里面如果要 remove,需要考虑size =1 的时候的特殊情况,在doubly linked list里面就不需要考虑这个情况。
lab4.jpg
回复 支持 1 反对 0

使用道具 举报

galaxy2 发表于 2014-6-22 01:46:52 | 显示全部楼层
lab4.png
               
lab41.png
lab42.png
回复 支持 反对

使用道具 举报

漫漫琳游的鱼 发表于 2014-6-28 16:37:01 | 显示全部楼层
终于做完了!! QQ截图20140628151634.png QQ截图20140628163542.png

回复 支持 反对

使用道具 举报

朝仓音梦 发表于 2014-7-3 08:45:52 | 显示全部楼层
SList s=new TailList();
s.insertEnd(obj);
为啥就不能换成object了,insertEnd()不是用的tailList的method么?
回复 支持 反对

使用道具 举报

朝仓音梦 发表于 2014-7-3 08:48:48 | 显示全部楼层
所以是compiletime就不会通过,ok明白了
回复 支持 反对

使用道具 举报

ginrain 发表于 2014-7-3 21:34:50 | 显示全部楼层
完成啦~~~ LAB4
QQ20140703-1.png
QQ20140703-2.png
回复 支持 反对

使用道具 举报

朝仓音梦 发表于 2014-7-4 04:44:24 | 显示全部楼层
LAB4的solution
DLIST1.PNG
DLIST2.PNG
回复 支持 反对

使用道具 举报

南方的狼 发表于 2014-8-9 16:39:20 | 显示全部楼层
晒一下答案~
希望自己能坚持下去
result1.jpg
result2.jpg
回复 支持 反对

使用道具 举报

awksu 发表于 2014-8-21 15:59:34 | 显示全部楼层
结果 lab4.png


但是对那个Insertfront size == 0 的代码不够简练。。。
回复 支持 反对

使用道具 举报

dwl1222 发表于 2014-9-10 09:42:27 | 显示全部楼层
完成啦。一天看一节课哦也
Lab4.PNG
Lab4B.PNG
回复 支持 反对

使用道具 举报

chendanlan 发表于 2014-11-19 09:41:25 | 显示全部楼层
只会做第一个耶,第二个不理解Dlist里面的sentinel list,完全不会做啊!!!!球大神解答下到底什么是sentinel node??
lab4.1.PNG
回复 支持 反对

使用道具 举报

chendanlan 发表于 2014-11-19 11:07:28 | 显示全部楼层
艰苦奋斗一个晚上,终于搞明白了。。。这个梗在那个 new DlistNode2()
是在新建一个object
lab4.2.PNG
回复 支持 反对

使用道具 举报

bruce2045 发表于 2014-12-16 04:42:44 | 显示全部楼层
DLIST1+DLIST2!!
DList1.png
DList2.png
回复 支持 反对

使用道具 举报

Chiva_W 发表于 2014-12-16 21:12:58 | 显示全部楼层
一开始sentinel的指针弄反了结果老是报错,囧
lab4-1.png
lab4-2.png
回复 支持 反对

使用道具 举报

小小溪 发表于 2015-1-31 00:28:31 | 显示全部楼层
额 好多天前就做了 可是每天好像只有上传六十多kb的权限。。。
lab4_1.jpg
lab4_2.jpg
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-24 14:41

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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