关于算法第四版环境配置

今天在测试算法第四版中第一个算法二分查找(BinarySearch)时,发现总是编译不成功(没有找到相应的静态方法),估计是没有成功导入包。

我是用了书网站提供的Hello World in Java on Windows直接安装形成的一个Java环境。

首先是在原书代码中要导入相应的静态方法

import edu.princeton.cs.algs4.In;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;

或添加整个包

import edu.princeton.cs.algs4.*;

其次,在编译时候要确保用javac-algs4 BinarySearch.java,运行时也要使用java-algs4 BinarySearch tinyW.txt < tinyT.txt。因为上面提供的环境中并没有引入CLASSPATH环境变量,如果直接采用javacjava就会导致找不到algs4.jar这个包。如果一定要用javacjava,那么就在环境变量中把algs4.jar的地址添加到CLASSPATH中,注销或重启后生效。

PS. 已过时API问题
书中源码中的int[] whitelist = In.readInts(args[0]);改成int[] whitelist = new In(args[0]).readAllInts();即可。这样的代码风格也更加符合Java一切皆对象的理念吧。

参考资料:

  1. 官网最新的代码,以及相应的解释。http://algs4.cs.princeton.edu/code/
  2. https://neue.v2ex.com/t/301773

你可能感兴趣的:(关于算法第四版环境配置)