diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 27e644b45a..0000000000 --- a/INSTALL +++ /dev/null @@ -1,30 +0,0 @@ -To build the book in PDF format from the sources, you need -the following software pre-installed. - -- LaTeX, you need have texlive-science, texlive-latex-extra, texlive-lang-greek packages installed*. -- ImageMagick, which can convert the images files to eps format; -- GraphViz, which can generate image from dot script; - -Build commmand: -make - -This will generate main-en.pdf. - -If you want to try the source code along with the book, you -need the following programming langauges support: -- ANSI C/C++ -- Haskell (Haskell Platform 2010 or higher version) -- Python (2.5 or higher version) -- MIT Scheme - -For any problem with installation, please contact with -liuxinyu95@gmail.com - -*: You can install the packages in debian like linux as the -following commands. - -sudo apt-get install texlive texlive-science texlive-latex-extra texlive-lang-greek texlive-xetex imagemagick graphviz - --- -Liu Xinyu -https://sites.google.com/site/algoxy/home diff --git a/README-zh-cn.md b/README-zh-cn.md deleted file mode 100644 index 561f15906f..0000000000 --- a/README-zh-cn.md +++ /dev/null @@ -1,18 +0,0 @@ -初等算法 - -版本: 0.6180339887498949 - -2017年10月8日 - -AlgoXY是一本关于初等算法和数据结构的书。这本书不仅仅关注命令式的方法,还包括纯函数式的算法和数据结构。所有的算法都同时使用了数学公式和伪代码来描述。 - -本书中文版《算法新解》已出版: -http://www.ituring.com.cn/book/1907 - -本书提供了C、C++、Haskell、Python、和Scheme/Lisp的源代码作为实现的例子供读者参考。为了增加Java和Scala的例子代码,我们增加了一个名为jvm的分支。 - -感谢您的支持! - --- -Larry LIU Xinyu -liuxinyu95@gmail.com diff --git a/README.md b/README.md index 52bc791dd7..87c46be21d 100644 --- a/README.md +++ b/README.md @@ -3,26 +3,96 @@ Elementary Algorithms Edition: 0.6180339887498949 -2018, Aug, 25 +2020/10 -AlgoXY is an open book about elementary -algorithms and data structures. This book doesn't only focus on -imperative (or procedural) approach, but also includes purely functional -algorithms and data structures. +This book introduces about elementary algorithms and data structure. It includes side-by-side comparison about purely functional realization and their imperative counterpart. -The PDF version in English can be downloaded from [github](https://github.com/liuxinyu95/AlgoXY/releases/download/v0.6180333/elementary-algorithms.pdf). + -The book in Chinese was published. -http://www.ituring.com.cn/book/1907 +Contents +-------- -[Errata and Exercise](https://github.com/liuxinyu95/AlgoXY/wiki/Preface) can be found in github WIKI. +The book can be downloaded in English ([EN](https://github.com/liuxinyu95/AlgoXY/releases/download/v0.6180333/elementary-algorithms.pdf)). The book in Chinese ([涓枃](http://www.ituring.com.cn/book/1907)) was published. I recently switched my focus to the Mathematics of programming, the new book is also available in ([github](https://github.com/liuxinyu95/unplugged)) -Compared to the pdf, the published version contains many important corrections to the contents, equations, and figures. -The original version provides examples in Haskell, C/C++, Python, and Scheme. I started A new branch jvm to provide examples in Java and Scala. +- Preface +- Chapter 1, Binary Search Tree, the 'hello world' data structure; +- Chapter 2, The evolution of insertion sort; +- Chapter 3, Red-black tree, not so complex as it was thought; +- Chapter 4, AVL tree; +- Chapter 5, Radix tree, Trie and Prefix Tree; +- Chapter 6, B-Trees; +- Chapter 7, Binary Heaps; +- Chapter 8, From grape to the world cup, the evolution of selection sort; +- Chapter 9, Binomial heap, Fibonacci heap, and pairing heap; +- Chapter 10, Queue, not so simple as it was thought; +- Chapter 11, Sequences, The last brick; +- Chapter 12, Divide and conquer, Quick sort vs. Merge sort +- Chapter 13, Searching +- Appendix + +Install +-------- + +To build the book in PDF format from the sources, you need +the following software pre-installed. + +- TeXLive, The book is built with XeLaTeX, a Unicode friendly version of TeX; + +### Install TeXLive + +In Debian/Ubuntu like Linux environment, do **NOT** install the TeXLive through apt-get. Go to TeXLive [official site](https://tug.org/texlive/) to download the setup script. + +```bash +$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl.zip +$ unzip install-tl.zip +$ cd install-tl +$ sudo ./install-tl -gui text -repository http://mirror.ctan.org/systems/texlive/tlnet +``` + +In Windows, TeXLive provide a [gui based installer](https://tug.org/texlive/), in Mac OS X, there's a [MacTeX](https://www.tug.org/mactex/). + +### Install ImageMagick and Graphviz + +```bash +$ sudo apt-get install imagemagick +$ sudo apt-get install graphviz +``` + +For Windows and Mac OS X installer, ImageMagick can be download through http://www.imagemagick.org; Graphviz can be download from: http://graphviz.org + +### Others + +You need the GNU make tool, in Debian/Ubuntu like Linux, it can be installed through the apt-get command: + +```bash +$ sudo apt-get install build-essential +``` + +In Windows, you can install the MSYS for it. In Mac OS X, please install the developer tool from this command line: + +```bash +$ xcode-select --install +``` + +### Build the book PDF + +enter the folder contains the book TeX manuscript, run + +```bash +$ make +``` + +This will generate algoxy-en.pdf and algoxy-zh-cn.pdf. If you only need the Chinese version for example, you can run `make cn` instead. + +### Other branches + +The other two branches, `zh-cn' and `jvm' are deprecated. Please do NOT checkout/track them. -- -Larry LIU Xinyu +LIU Xinyu liuxinyu95@gmail.com + +``Cogito ergo sum''