/CLRS

Algorithms implementation in C++ and solutions of questions (both code and math proof) from “Introduction to Algorithms” (3e) (CLRS) in LaTeX.

Primary LanguageC++

This repo includes

  • C++ code implementation of data structures and algorithms

  • exercise and problem solutions of "Introduction to Algorithms" (CLRS) 3rd edition (in LaTeX and handwriting) (the handwriting part will be updated to LaTeX)

If you have any issues or want to discuss anything, you are welcome to new an issue or discussion.

For those who starred the repo, we really appreciate it. Your star is our motivation to do better.

Solution Menu

Chapter 2 - 11 Contents are Uploading and Migrating (you can check out codes in this repo for temporary)

Chapter Code Solution
Chpater 2 - 11 Code
Chpater 12 (Binary Search Trees) Code Solution (Hand-writing)
Chpater 13 (Red-Black Trees) Code Solution (Hand-writing)
Chpater 14 (Augmenting Data Structures) Code Solution (LaTeX)
Chpater 15 (Dynamic Programming) Code Solution (LaTeX)
Chpater 16 (Greedy Algorithms) Code Solution (LaTeX)
Chpater 17 (Amortized Analysis) Code Solution (LaTeX)
Chpater 21 (Data Structures for Disjoint Sets) Code Solution (LaTeX)
Chpater 22 (Elementary Graph Algorithms) Code Solution (LaTeX)

Submodules of the Project

Augmented data structures and algorithms in a style similar to STL such as partition, selection in linear time, etc. (widely used in this project) (in the namespace of cotl)

Matrix library that supports operator overloading and Strassen's algorithm.

Basic STL style red-black trees.

  • Red-black trees that maintain past versions of a red-black tree.

  • Guarantee O(lg n) running time and space per selection insertion, or deletion.

  • Order Statistics Trees: Red-black trees that support computation of the rank of an elements in O(lg n).

  • Interval Trees: Red-black trees that support operations on intervals.

Other Data Structures

More Code Implementation in C++

https://github.com/yirong-c/CLRS-code-solution

This repo includes contents of Chapter 2 - 11.

All contents in this repo will be migrated here later.

Solutions will be updated in LaTeX later also.

Contribute

If you find any errors, other approaches to solution, or want to contribute, you are welcome to create a Pull Request.

Thank you so much for your contribution!

Bibliography

Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms (Third edition.). MIT Press.