appendix-b

Appendix B. Further reading

 

These are some of the resources I used when I needed to learn about arcane data structures and algorithms; it is far from an exhaustive list. Many of these papers can be found at https://github.com/ericlippert/FabulousAdventures.

Chapter 2

  • [Hughes] A Novel Representation of Lists and its Application to the Function Reverse (1984)
  • [Okasaki] Purely Functional Data Structures, both the 1996 thesis and the 1999 book based on it, is a deep dive into amortized performance analysis of persistent data.

Chapter 3

  • [Guibas et al.] A New Representation For Linear Lists (1977) introduces the concept of finger trees and applies it to B-trees.
  • [Hinze et al.] Finger trees: a simple general-purpose data structure (2006) shows how to create deques, priority queues, and other data structures from finger trees.

Chapter 4

  • [Conway et al.] Winning Ways for your mathematical plays Volume 2 (1982) explains Life.
  • [Gosper] Exploiting Regularities In Large Cellular Spaces (1984) sketches Gosper’s HashLife algorithm but does not provide an implementation.

Chapter 5

  • [Lucchesi et al.] Applications of Finite Automata Representing Large Vocabularies (1993)
  • [Watson] A taxonomy of finite automata minimization algorithms (1993)
  • [Daciuk et al.] Incremental Construction of Minimal Acyclic Finite-state Automata (2000)

Chapter 6

  • [Even] Algorithmic Combinatorics (1973)
  • [Cover] Enumerative Source Encoding (1973)
  • [Sedgewick] Permutation Generation Methods (1977)

Chapter 7

Chapter 8

Chapter 9

Chapter 10

Chapter 12

Chapter 14

Chapter 15

Chapter 16