红皮的算法一书,内部代码的实现调用了作者写的一个包。为了运行书内代码,需要配置相应的环境。

准备

网站:https://algs4.cs.princeton.edu/code/

工具:IntelliJ IDEA 2019.3

Java版本:jdk8

Step 0

下载algs4.jar

Step 2

jar包移到某个目录下,笔者此处放置在:"C:\Program Files\algs4\algs4.jar"

Step 3

配置系统变量,在CLASSPATH后添加C:\Program Files\algs4\algs4.jar;注意最后的分号不能掉(如图)。

之后重启电脑一次。

Step 4

配置IDEA,打开File--->Project Structure按照箭头指示配置:

Step 5

此时项目工程的目录如下:

测试所用的源代码在一个目录下此处是Chapter1下.测试所用的数据在src中与Chapter1并列,

测试所用代码如下:

package Chapter1;

import edu.princeton.cs.algs4.In;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut; import java.util.Arrays; /**
* Created by Elio Yang on 2020/6/28.
*/
public class binarySearchTest {
public static int rank(int key,int[] a){
int lo=0;
int hi=a.length-1;
while (lo<=hi){
int mid=lo+(hi-lo)/2;
if(key<a[mid]) hi=mid-1;
else if(key>a[mid]) lo=mid+1;
else return mid;
}
return -1;
}
public static void main(String[] args) {
int[] arraylist= new In(args[0]).readAllInts();
Arrays.sort(arraylist);
while (!StdIn.isEmpty()){
int key=StdIn.readInt();
if (rank(key,arraylist)==-1)
StdOut.println(key);
}
}
}

Step 6

编译+运行

方法1: Terminal

方法如下图所示:一定要注意文件的位置

C:\Users\ELIO\source\Algorithms_4E\src>javac Chapter1\binarySearchTest.java

javac编译出了一个.class文件

C:\Users\ELIO\source\Algorithms_4E\src>java Chapter1.binarySearchTest tinyW.txt < tinyT.txt

java运行时,利用文件重定向需要注意数据文件所属的目录,此处的两个.txt都是位于src下,与命令行的一致,故只需要文件名即可.

方法2: Edit Configurations

IDEA运行的地方,找到如下按钮:

点击Edit:

IntelliJ IDEA 配置《算法》(第四版)的更多相关文章

  1. 算法第四版 在Eclipse中调用Algs4库

    首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File ...

  2. 算法第四版jar包下载地址

    算法第四版jar包下载地址:https://algs4.cs.princeton.edu/code/

  3. 算法第四版-文字版-下载地址-Robert Sedgewick

    下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ...... ...

  4. 二项分布。计算binomial(100,50,0.25)将会产生的递归调用次数(算法第四版1.1.27)

    算法第四版35页问题1.1.27,估计用一下代码计算binomial(100,50,0.25)将会产生的递归调用次数: public static double binomial(int n,int ...

  5. 算法第四版学习笔记之优先队列--Priority Queues

    软件:DrJava 参考书:算法(第四版) 章节:2.4优先队列(以下截图是算法配套视频所讲内容截图) 1:API 与初级实现 2:堆得定义 3:堆排序 4:事件驱动的仿真 优先队列最重要的操作就是删 ...

  6. 算法第四版学习笔记之快速排序 QuickSort

    软件:DrJava 参考书:算法(第四版) 章节:2.3快速排序(以下截图是算法配套视频所讲内容截图) 1:快速排序 2:

  7. 配置《算法 第四版》的Eclipse开发环境

    1. 安装JAVA JAVA网址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 配置环境变量(我把JAVA安装在 ...

  8. 算法第四版 coursera公开课 普林斯顿算法 ⅠⅡ部分 Robert Sedgewick主讲《Algorithms》

    这是我在网上找到的资源,下载之后上传到我的百度网盘了. 包含两部分:1:算法视频的种子 2:字幕 下载之后,请用迅雷播放器打开,因为迅雷可以直接在线搜索字幕. 如果以下链接失效,请在下边留言,我再更新 ...

  9. 在Windows上安装「算法 第四版」组件

    这篇文档将向你介绍如何在Windows系统上安装本书将用到的Java开发环境,同时我们也提供了一个手把手的.使用我们提供的DrJava工具或者用命令行来创建.编译和运行你的第一个Java程序的手册,这 ...

  10. 相似度分析,循环读入文件(加入了HanLP,算法第四版的库)

    相似度分析的,其中的分词可以采用HanLP即可: http://www.open-open.com/lib/view/open1421978002609.htm /****************** ...

随机推荐

  1. Typora设置Vue主题

    平时看视频,发现好多老师使用 Typora 时,界面跟我的不一样,好看一些,后来查了下才知道老师使用了Vue主题,接下来我就记录下设置Vue主题的步骤吧 一.下载Vue主题 地址:http://the ...

  2. Newton插值的C++实现

    Newton(牛顿)插值法具有递推性,这决定其性能要好于Lagrange(拉格朗日)插值法.其重点在于差商(Divided Difference)表的求解. 步骤1. 求解差商表,这里采用非递归法(看 ...

  3. 安卓快速关机APP

    目录 自说自话 使用方法 自说自话 像我这样每天晚上睡觉关机的人不知道有多少,反正我每天都有关机的需求.因此我特别讨厌长按关机键进行关机,感觉浪费我好几秒的生命. 因此我开发了这款APP,主要是自用, ...

  4. 【JVM第六篇--对象】对象的实例化、内存布局和访问定位

    写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.对象的实例化 在平常写代码的过程中,我们用class关键字定义的类只是一个类的模 ...

  5. Socket shutdown close简要分析

    shutdown 系统调用关闭连接的读数据通道  写数据通道 或者 读写数据通道: 关闭读通道:丢弃socket fd 读数据以及调用shutdown 后到达的数据: 关闭写通道:不同协议处理不同:t ...

  6. 快速熟悉 Oracle AWR 报告解读

    目录 AWR报告简介 AWR报告结构 基本信息 Report Summary Main Report RAC statistics Wait Event Statistics 参考资料 本文面向没有太 ...

  7. putty连接Linux(NAT)

    1.系统装好后第一次连的时候需要打开ssh服务 sudo apt-get install openssh-server 当在机器不能通过ping ip相通的话那么就要解决ip不同的问题,当ip相通还是 ...

  8. Java入门基础知识点总结(详细篇)

    Java入门基础知识点总结(详细篇)~~~~~目录 1.1 图解 1.1.1 Java基础知识点 1.1.2 Java基础语法的相关内容 1.2 关键字 1.3 标识符 1.3.1 标识符概念 1.3 ...

  9. 西数WD2T硬盘分区对齐的方法

    新购一个西数2T硬盘,也就是绿盘的那种,淘宝500左右,支持高级格式化. 到手以后,分区格式化,前几天格式化完成以后,fdisk -l 发现如下文字 引用 Partition 1 does not s ...

  10. Spring扩展之二:ApplicationListener

    1.介绍 用于监听应用程序事件的接口. 子接口:GenericApplicationListener,SmartApplicationListener. 通过ApplicationEvent类和App ...