首页 > 代码库 > 算法第四版学习——Coursera&DrJava使用方法
算法第四版学习——Coursera&DrJava使用方法
引言
前段时间失业了,找工作的时候最深的两点体会是:
1、虽然做过大项目,做过很多复杂业务功能,涉及过很多知识领域。但是都很难表达清楚。
2、笔试遇到很多算法题,做得都比较头疼(糟糕),很多都直接影响了面试结果。
第一点我明白是需要不断总结和积累的,第二点勾起了我对算法学习的兴趣。大学学算法的时候,脱离实践,只谈时间、空间复杂度和实现难度,学完了就忘了,那样枯燥的算法我肯定不想再碰一遍。
偶然看到了Coursera的算法导论课程,遇到了大牛老师Robert Sedgewick,他的视频在网上下下来看了,虽然没有中文字幕,但看起来非常易懂(比大学老师说中文都容易懂。。。)
在写这篇文章的时候已经大约花了一个月时间,学到了字符串处理。算法第一部分(前三章)的Coursera题目已经在网上做完了,应该说例题也是非常经典。如果广大苦手算法的同学可以考虑去看看,真心不错。
这里简单介绍下Algorithm这门课的习题方式和做习题可能遇到的问题,具体习题解答在之后的博客更新:
1、语言用JAVA,但是基本上C#上手很容易,我本人以前用过JAVA,现在主要用C#,基本感觉不到区别。
2、作业上传zip包,只需包含要求的java类文件即可,上传无次数限制,上传后会自动编译测试,测试结果会过几分钟显示。测试结果基本不会很难懂,这个之后我会举例的。
3、官方推荐的开发环境是DrJava,虽然我用的是这个,但不是很推荐,因为默认版本好像是不能设置断点的。调试很麻烦,对新手来说有点难用,我还是推荐用eclipse,但我会介绍怎么用DrJava。
4、每个作业有Specification和Checklist,前者是题目正文,后者是提示和常见问题,做题目第一个就足够了,如果看不懂题目、做不来或者过不了测试,可以求助第二个。
5、官方提供的algs4.jar import包类似C#中的include,相关的源码和接口文档在Specification和Checklist都有,可以查看,每个项目都要用到,其它的JAVA数据结构我也不知道,所以我也没有引用。
6、实在苦手做不来的童鞋也可以去Coursera论坛上求助,尽量不要太丢人就行。。。
关于DrJava
第一步、下载安装就不说了。打开以后新建项目,和VS里一样,不然无法import jar包。
第二步、选择编译路径引入外部类,最重要的是要把algs4.jar文件的路径添加到Extra Classpath,这点搞了我好久。不然你代码里不能import。
第三步、写Class,一个Class一个文件
第四步、编译执行,先编译成中间文件,我理解和IL类似;只要有main函数,基本上都可以按以下方式执行,注意大小写敏感。
高级功能:单元测试JUNIT
以前比较熟悉NUNIT,JUNIT的话差不多,但是DrJava支持的断言异常少,建议还是不要用了。。基本上手工测测也够了
算法第四版学习——Coursera&DrJava使用方法