Skip to content
/ CLRS Public

Advanced algorithms and generic data structures in C

License

Notifications You must be signed in to change notification settings

pl3onasm/CLRS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 13, 2025
3043d7a · Apr 13, 2025
Apr 13, 2025
Sep 15, 2024
Nov 2, 2024
Jul 4, 2023
Nov 1, 2024

Repository files navigation

CLRS: Data Structures
and Algorithms


Algorithms


Data structures



Notes

The aim is to implement all the algorithms and data structures discussed in the textbook Introduction to Algorithms by Thomas H. Cormen, et al. We will be working with both the third and fourth edition. Folders usually contain several versions of the same algorithm or data structure, in accordance with the different pseudocode and explanations in the textbook, or to show different implementations.

In addition, you will also find other algorithms and data structures that are not discussed or merely referenced in the book. All implementations will be in C, and will follow the pseudocode—if available—in the textbook as closely as possible, unless this results in a less efficient or unnecessarily complex implementation. I strive to make the code as transparent and economical as possible, and have it reflect the underlying reasoning. Brief explanations and summaries of the algorithms and data structures will be added as well. Contrary to the textbook, I will always use zero-based indexing. I will also link to helpful videos that explain the concepts in a more visual way when available.

Please refer to the license if you wish to use any of the code in this repository. Any images were created using Photoshop. If you find any errors or have any suggestions, please let me know.

Kindly note that this is very much a work in progress. It simply takes time to develop and test all the code and write the explanations. Updates will be made regularly.


Recommended


References

CLRS³: Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to algorithms. MIT press.
CLRS⁴: Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2022). Introduction to algorithms. MIT press.
CP: Halim, S., Halim, F., & Effendy, S. (2022) Competitive programming 4. Lulu Publishing.
EA: Kao, M.Y., 2016. Encyclopedia of Algorithms. Springer.
JE: Erickson, J. (2019). Algorithms. Independent Publisher.