by liuxinyu95

liuxinyu95 / AlgoXY

Book of Elementary Algorithms and Data structures

4.0K Stars 607 Forks Last release: 23 days ago (v0.6180334) 2.4K Commits 15 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Elementary Algorithms

Edition: 0.6180339887498949


This book introduces about elementary algorithms and data structure. It includes side-by-side comparison about purely functional realization and their imperative counterpart.


The book can be downloaded in English (EN). The book in Chinese (中文) was published. I recently switched my focus to the Mathematics of programming, the new book is also available in (github)

  • 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


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 to download the setup script.

$ wget
$ unzip
$ cd install-tl
$ sudo ./install-tl -gui text -repository

In Windows, TeXLive provide a gui based installer, in Mac OS X, there's a MacTeX.

Install ImageMagick and Graphviz

$ sudo apt-get install imagemagick
$ sudo apt-get install graphviz

For Windows and Mac OS X installer, ImageMagick can be download through; Graphviz can be download from:


You need the GNU make tool, in Debian/Ubuntu like Linux, it can be installed through the apt-get command:

$ 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:

$ xcode-select --install

Build the book PDF

enter the folder contains the book TeX manuscript, run

$ 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

Other branches

The other two branches,

are deprecated. Please do NOT checkout/track them.


LIU Xinyu

[email protected]

``Cogito ergo sum''

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.