一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 2987|回复: 68
收起左侧

uc berkeley CS 61B homework 9

  [复制链接] |试试Instant~ |关注本帖
逃亡~ 发表于 2014-10-13 15:31:51 | 显示全部楼层 |阅读模式

[其他]CS 61B Data Structures(in Java) #1 - 2014-09-01@uc berkeley

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

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

x
这个作业还是比较简单的,但是非常难以理解+_+ 可能我英语不太好的缘故,读了好多遍才知道要干啥。。。。

其实这个作业就是让大家消去一部分walls,是得每两个cell之间有且仅有一条path。


距离修完cs61b仅有一步之遥了!!
http://www.1point3acres.com/bbs/forum.php?mod=attachment&aid=MjYyODQwfDRjNTUzODgxYThiODA2OWRkYWU5MTIyMDcyMjJjNTk5fDE0ODEzNzQ3MzA%3D&request=yes&_f=.png
1.png

评分

1

查看全部评分

lyc1994 发表于 2015-8-11 10:53:55 | 显示全部楼层
这次的作业十分有趣!
我感觉重点是随机选取Maze中的wall所使用到的方法:
将Maze中所有水平和垂直方向的wall编号,放入一个数组中,首先设定数值w等于数组长度。随机取数randInt(w),取数组中随机数序号上wall的编号,对这只wall
进行处理(决定是打开wall还是保持原状)。最后将用到的wall编号与数组最后一位(w - 1)进行互换,w--,循环。这样再也不会重复处理已经处理过的wall了。

result.JPG
回复 支持 2 反对 0

使用道具 举报

enirinth 发表于 2015-6-11 14:50:57 | 显示全部楼层
本帖最后由 enirinth 于 2015-6-11 14:55 编辑

先贴作业:
111111111.png


以上是作业的partI

partII要口头设计一个DFS生成迷宫的算法,有两个要求:
1. 最后生成的是树, 没有circle; 且要能遍历
2. 每一次的生成要足够random

以下是partII
1. Mark all walls true (unbroken)
2. Randomly choose a starting cell
3. Marked this cell visited
4. Loop (every direction that has an unbroken (true) wall && through which you find an unvisited cell)
-----4.1 Randomly choose one direction
-----4.2 Go through that wall to another cell, mark the wall brokedn (false)
-----4.2 Recursive DFS call on that cell

i. 显然通过marked visited可以保证生成的是树,没有circle; 这是DFS本身的特性;
ii. 每个wall不管是true or false, 都代表一条edge, 所以这是个connected的图, 则DFS一定能遍历, 这也是DFS本身的特性;
iii. 因为起点是randomly chosen, 每一步的方向也是randomly chosen, 所以应该就保证random的树生成了

i和ii保证了要求1
iii I assume保证了要求2吧......
_______________________________________________________________________________________________
到了hw9, 终于有一种自己的code style美如画的错觉了......
终于第一次不怎么debug就跑出来结果了.....
可能因为前面tree的部分各种分情况讨论, 弄得code也丑, 又容易出错吧....


评分

4

查看全部评分

回复 支持 1 反对 0

使用道具 举报

sicilianee 发表于 2015-5-29 14:46:33 | 显示全部楼层
题目是按照column存的而不是按照row来存的。注意。
index的转换要注意。wall的一维index--wall的二维index--cell的二维index--cell的一维index。由wall到cell多对一。
hw9.png

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

voiding 发表于 2014-10-14 05:54:17 | 显示全部楼层
太厉害了,坚持下来真不容易啊,我还在tree这一部分纠结。
回复 支持 反对

使用道具 举报

 楼主| 逃亡~ 发表于 2014-10-15 14:52:39 | 显示全部楼层
voiding 发表于 2014-10-14 05:54
太厉害了,坚持下来真不容易啊,我还在tree这一部分纠结。

一起加油!
回复 支持 反对

使用道具 举报

wtttt0 发表于 2014-11-18 11:46:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

imposiwind 发表于 2014-11-26 21:30:19 | 显示全部楼层
作业入口:http://www.cs.berkeley.edu/~jrs/61b/hw/hw9/要求掌握 Disjoint Sets  不相交集的知识。

绘制迷宫图,使任意两个像素点(cell)之间仅有一条通路。示意图如下。

按照提示完成即可,不是很难,注意union函数的参数要保证是root!

最后冲刺,cs61b, 加油!!!!!!

6x4_maze

6x4_maze

result

result

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

831128 发表于 2014-12-1 02:36:17 | 显示全部楼层
交作业,拿学分, 坚持住,争取今天把hw10也做了
QQ截图20141130102800.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

bruce2045 发表于 2015-1-9 06:35:45 | 显示全部楼层
这次作业不难,别把vertical和horizontal的cell搞反了就行!还差一次作业就搞定cs61b了,想想就有点小激动啊!
hw9.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

zj45499 发表于 2015-1-21 20:19:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

urekuk 发表于 2015-3-12 17:50:47 | 显示全部楼层

                               
登录/注册后可看大图

回复 支持 反对

使用道具 举报

AndyLiu0429 发表于 2015-3-29 13:04:24 | 显示全部楼层
迷宫连通是并查集的经典应用了。。
屏幕快照 2015-03-28 下午4.50.16.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

urekuk 发表于 2015-3-30 12:15:17 | 显示全部楼层
回复 支持 反对

使用道具 举报

neverdies 发表于 2015-4-6 08:06:46 | 显示全部楼层
写完了~  一定要看清楚hwall和vwall是咋表示的。。不要搞反了
HW9.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

jy_121 发表于 2015-6-2 13:12:46 | 显示全部楼层
Homework9 done
Homework9.png

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

ypandxy 发表于 2015-7-2 15:39:01 | 显示全部楼层
交作业
homework9.jpg

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

豆小凡 发表于 2015-7-22 16:24:44 | 显示全部楼层
一开始看错了row和column,debug好久都不知道,最后重写一次的时候才发现。。。真挫
maze.png
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

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

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 20:58

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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