查看: 7701| 回复: 17
跳转到指定楼层
上一主题 下一主题
收起左侧

[入门|算法|数据结构] 2016 9月 Algorithm,Part1 week1 作业帖

全局:
公开课
学校名称: Princeton University
Unit号: 1
开课时间: 2016-09-02
课程全名: Algorithms, Part I
平台: Coursera

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

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
第一次作业,用Union−Find来实现Percolation  作业入口

先交作业,再谈感受:


1. 对于一个同时在跟cs61b的人来说,这门课第一个作业就不太一样,不会像是cs61b那样大框架有了,只需要填空。整体的java source file都需要自己来写。
2. 第一条导致了checkstyle将我的code style 评为0分,错误百出。因为我是用notepad写,command line运行。格式上完全不怎么注意。
3. 作业入口链接开始 有个section Install a Java programming environment, 里面的链接讲述了如何用algs4.exe 安装 drjava,并且完成一些列的wrapper设置。楼主本来不想用,因为这个附带安装的java版本比较低。但是因为style实在错误太多,所以下决心想试试如何保留这些设置,但却使用新版本java。
4. 我是这样做的,如果有同学觉得有什么更好的办法请指教,我的办法挺蠢得:
    a. 先运行一遍algs4.exe,这样会把一批文件/夹,包括bin,java,checkstyle-6.9,findbugs-3.01,algs4.jar,drjava.jar 等安装到默认目录:C:\username\Min\algs4
    b. 删除java 文件夹,(相当于删除了低版本的java),如果已经安装了新版本,并且设置了path,那就没问题了,否则,去下载并安装新版本java jdk,设置好path
    c. 将path中指向 C:\username\Min\algs4\java\bin 的那一条删除,添加(如果没有的话)C:\username\Min\algs4\bin
    d. 删除桌面上algs4.exe为你建立好的drjava的快捷方式,因为已经失效,可以从C:\username\Min\algs4\drjava.jar 直接启动,或者建立快捷方式。
    e. c这一步保证了原来默认安装的一些wrapper依然可以使用,比如 checkstyle-algs4 HelloWorld.java      findbugs-algs4 HelloWorld.class   或者是javac-algs4 TestAlgs4.java。   好处是不用每次用-cp去设置使用 -algs4.jar。而且可以在提交前自己check style 和bug
啰嗦完了。。。。


这两天有时间会重新写一下第一次作业,用drjava,看看style能不能有些进步

评分

参与人数 1大米 +10 收起 理由
Jerry_37 + 10 很有用的信息!

查看全部评分


上一篇:[Coursera] 吐槽一下HKUST Full Stack Development
下一篇:2016 9月 Algorithm,Part1 week2 作业帖
推荐
nsc 2016-10-9 22:08:02 | 只看该作者
全局:
我参加的是10月份开的课。week 1作业贴这儿可以吧?

Untitled.png (181.98 KB, 下载次数: 3)

Untitled.png
回复

使用道具 举报

推荐
 楼主| minchen57 2016-9-7 22:39:43 | 只看该作者
全局:
折腾了好久,终于整到100分了。。。提交了20次了吧。除了backwash想清楚怎么解决之外,用新的method时候应该好好读读说明,后来得98分就是因为 uniform(int a, int b) Returns a random integer uniformly in [a, b)
这一条没有读清,不包含b,所以要用 uniform(1,n*n+1)。




回复

使用道具 举报

推荐
farewell 2016-9-7 13:23:21 | 只看该作者
全局:
防止backwash要用两个UF,一个用于检查是否percolate,一个用于检查isfull
坚持!求加分!

回复

使用道具 举报

🔗
 楼主| minchen57 2016-9-7 09:49:23 | 只看该作者
全局:
第一次发作业帖,有些紧张,没有发总帖地址,以后一定注意
课程汇总 && 介绍:http://www.1point3acres.com/bbs/thread-200970-1-1.html
回复

使用道具 举报

🔗
windseason 2016-9-7 12:18:01 | 只看该作者
全局:
楼主为什么我看到的是10月1号开始呀
回复

使用道具 举报

🔗
youngyang 2016-9-7 22:15:18 | 只看该作者
全局:
1.我用Eclipse写的,然后加了package,传上去之后系统好像编译不了,所以最好还是不要package了。
2.判断percolation可以在top和bottom各加一个virtual node,在课的视频里教授有提到。
3.两个UF可以解决backwash问题,楼上已经提到了。
4.好像checkstyle不全过也可以拿满分。。。
回复

使用道具 举报

🔗
Raymomd 2016-9-9 10:23:42 | 只看该作者
全局:
一开始把下标看错以为从0开始,结果后面大部分工作变成改index。。。


回复

使用道具 举报

🔗
nhqgoal 2016-9-9 10:44:54 | 只看该作者
全局:
backwash是什么意思?
回复

使用道具 举报

🔗
Raymomd 2016-9-9 10:50:09 | 只看该作者
全局:
nhqgoal 发表于 2016-9-9 10:44
backwash是什么意思?

当使用virtual node 会出现回流问题,可以维持两个Union find对象,一个有两个virtual node,另一个只有顶层的node
回复

使用道具 举报

🔗
nhqgoal 2016-9-9 14:45:07 | 只看该作者
全局:
Raymomd 发表于 2016-9-9 10:50
当使用virtual node 会出现回流问题,可以维持两个Union find对象,一个有两个virtual node,另一个只有 ...

那么我只使用一个top node,这样percolates()从N^2降到N,可行吗? 感觉这样也不会多慢
回复

使用道具 举报

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

本版积分规则

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