15-853: Algorithms in the Real World (Spring 18)

Readings, Notes and Slides


Will be updated as we go along


Introduction


Write-efficient Algorithms


Slides


Parallel Search Trees and Range Queries


Readings

  • 15-210 notes about split-join algorithms.
  • The textbook Computational Geometry, Algorithms and Applications by M.De Berg, M.Van Kreveld, M.Overmars and O.C.Schwarzkopf.
  • Slides


    Clustering


    Readings

  • An overview of clustering algorithms as part of Scikit Learn (a library of machine learning tools written in python). Also includes a section on dimensionality reduction.
  • Survey of Clustering Data Mining Techniques
  • Notes on spectral graph theory and applications to clustering" by Jean Gallier.
  • A course on spectral graph theory by Dan Spielman. Notes from the second lecture give a useful introduction to graph laplacians.
  • Slides


    Nearest Neighbors and Spatial Decompositions (Low Dimensions)


    Readings

  • Cover Trees for Nearest Neighbor by Beygelzimer Kanade and Langford (2006)
  • A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential fields by Callahan and Kosaraju (1995).
  • Efficient collision detection using bounding volume hierarchies of k-DOPs, J.T. Klosowski, M. Held J. Mitchell, H. Sowizral, K. Zikan. This has some background on BVH in general.
  • Slides


    Dimension Reduction and Near-Neighbor Searching (High Dimensions)


    Lecture Notes


    Locality and I/O Efficient Algorithms


    Slides

    Readings

  • Cache-Oblivious Algorithms and Data Structures by Erik D. Demaine (2002)

  • Parallel Algorithms


    Readings

  • Parallel Algorithms by Guy Blelloch and Laxman Dhulipala. These are draft notes we are currently working on. If you notice bugs, please point them out.
  • Parallel Algorithms by Guy Blelloch and Bruce Maggs. From Computer Science Handbook, Second Edition, Allen B. Tucker (Editor). This is somewhat out of date, hence the more recent notes above.
  • Slides


    Cryptography


    Readings

    Slides


    Coding and Error Correction


    Readings (supplementary)

    Slides


    Compression


    Readings

    Slides


    Guy Blelloch guyb@cs.cmu.edu.