算法4th:環境配置(idea+win10)

前言

最近在閱讀算法4th這本書,想着把筆記記錄一下,以第一視角來整理。

當我第一次拿到書後,發現還需要按照書中網站提供了 jar 包時配置了很久發現很繁瑣也沒有配好。

然後我想着把 jar 包中的標準化輸入輸出融合到代碼中,也就是在 Idea 中將代碼框架寫好,直接填關鍵代碼,一鍵運行即可,但是想法很美好。後續我意識到了工作量之龐大。

當我把第二章排序完成後發現在這上面花費了大量的時間,如果將後續的都實現一遍則需要耗費更多的時間。

看這本書的目的是側重於算法層面而非配置這些環境之上,而後續閱讀之時沒有測試數據無法檢驗算法的正確性又很難受,特別是官網已經造好了數據。

這篇文章則是我看書過程中記錄的筆記以及踩過的坑

概述

環境:

前提是默認已經安裝並配置好了 JDK 和 IDEA ,如果沒有請先配置好再進行後續操作。

環境配置

首先確認 JDK 是否配置成功,以下是 win10 的配置流程。mac 只需要省略配置 JAR 包的環境變量這一步即可。

  • 快捷鍵 win + r 輸入 cmd,調出命令行界面。
  • 輸入 java -version 輸出如下結果說明安裝成功。
  • 然後打開 idea 左上角 File -> NEW -> project 創建一個項目。
  • 接下來注意點擊左上角,接下來就是創建項目名稱,自定義。
  • 然後下載好的 algs4-data.zip 文件解壓,將其中的文件放入 src 目錄下。我的目錄如下:
  • 然後再將 algs4.jar 包配置到環境變量中。我的 jar 包位置和工程路徑如下:
  • 將 algs4.jar 的路徑存入 CLASSPATH 中即可,這一步同配置 JDK 路徑類似,注意最後結束要寫分號。

運行代碼

  • 算法4 第五頁,書中的第一個例子,運行一下試試。可以直接 copy 這裏。

  • 有必要提前說一下我創建項目的文件結結構。txt 等數據文件都位於 src 目錄下,代碼都位於 src/com/company 目錄下。com/company 是創建項目時默認的,我沒有修改,你可以修改,但是修改後,下面使用終端編譯時也要修改成對應的路徑。

  • 輸入文件名 BinarySearchsrc/com/company 中創建成功。之後將代碼 BinarySearch.java 貼入,然後發現報錯。
  • 此時先不管報錯,因爲缺少 algs4.jar ,所以先導入這個包。
  • 將 JAR 包添加到對應位置,apply ok 即可。
  • 然後按 alter + enter 將用到 JAR 包中的類導入。
  • 然後打開左下角的 terminal 默認路徑爲當前的項目路徑,使用命令 cd src 進入 src 文件中。因爲測試數據放在了這裏。
  • 首先使用命令 javac com/company/BinarySearch.java 編譯文件。
  • javac + 文件名 的作用是將源代碼編譯成字節碼。
  • 然後使用命令 java com.company.BinarySearch largeW.txt < largeT.txt 運行,和書上第五頁不同的是這裏加上了路徑,你也可以刪除,com/company 文件夾,直接將文件BinarySearch.java 放入 src 目錄下,那就和書中的命令一模一樣了。
  • java + 文件名(不帶.class 後綴) 是將字節碼運行再虛擬機上。而後面對應的參數則是代碼中對應的輸入。
  • 運行後得到一堆數字說明運行成功。

再次測試

  • 再試一下第二章,熟練使用命令行。運行後發現排序成功,中間有坑注意善用搜索!

總結

之前我是不想去配環境變量的,認爲在 idea 中導入 jar 包後應該就可以直接使用。但是發現不行,命令行無法運行。

後來仔細想想覺得應該是當命令行在編譯 JAR 包時會掃描 classpath 中的路徑。而 algs4.jar 這個包不在其中必定出問題,idea 只是配置在其對應的配置文件中,在終端上並沒有生效。

可以直接在 idea 中直接運行生成字節碼,然後在 windows terminal 中導入測試數據進行測試,下一節就可以舒服的敲代碼啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章