《算法(第4版)》课后练习答案及相关问题解决方案

《算法(第4版)》一书的代码和课后练习的答案我都分享到了我的GitHub上面,地址如下:
https://github.com/jimmysuncpt/Algorithms
如果对您有帮助,觉得还不错,麻烦赏个Star吧!您也可以贡献您的代码,帮助完善这个项目,十分感谢哦!
另外,分享另一个兄弟的可供参考:https://github.com/aistrate/AlgorithmsSedgewick
 
下面是一些常见的问题及解决方法:
终止Console继续读入流:
书上有一些题目需要从Console读取流并进行处理,从Console读取有个问题就是如何终止流的输入,如果不手动终止输入StdIn.isEmpty()始终是false,这样后面的代码始终无法执行,Eclipse默认的EOF是Ctrl+Z(在Console输入完内容按回车以后按Ctrl+Z就会终止当前输入,即StdIn.isEmpty()为true),但有个问题是有时第一次运行后用Ctrl+Z终止流输入是有效的,再次运行那个类Ctrl+Z就失效了。
解决方法是鼠标点击代码编辑页面,再点击控制台,Ctrl+Z就有效了。注意在Ctrl+Z终止之后如果后面的代码还有输入的地方,后面的输入是无法执行的。
Eclipse从控制台直接读取文件:
比如你运行的类当前需要读取一个.txt的文件,可以这样设置:Run - Run Configurations - Common,勾选Input File,并选择输入的文件,如下图所示:
《算法(第4版)》课后练习答案及相关问题解决方案
《算法(第4版)》课后练习答案及相关问题解决方案
这样点击运行的时候控制台就不用输入了。
Eclipse命令行参数使用:
Run - Run Configurations - 右边 Arguments 里Program arguments中写。
如果写的是文件,默认该文件要放在项目的根目录里。当然也可以换位置,勾选Working directory的Other,然后选择文件目录即可。
Eclipse开启断言:
Run - Run Configurations - Arguments选项卡,在VM arguments里输入-ea代表开启断言,输入-da代表禁止断言。
第五章第五节数据压缩算法的测试:
基本思路是将output定向到一个txt文件中,将压缩后的比特流保存到一个txt的文件中,验证解压缩算法时,从txt文件中读取比特流然后在控制台打印解压后的内容,具体操作如下:
首先新建一个用于保存比特流的txt文件,比如temp.txt,将文件放入具体的包中(根目录也行),然后将输出定向到该文件,具体这样设置:Run - Run Configurations - Common,勾选Output File,并选择输出的文件,然后直接运行,如下图所示:
《算法(第4版)》课后练习答案及相关问题解决方案
这样压缩后的比特流就保存到了temp.txt文件中了(如果没有变化就刷新一下),验证解压缩算法的时候就将“Input File:”定向到temp.txt文件。
 
参考:http://blog.csdn.net/fuckluy/article/details/50999238