• Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to algorithms. MIT press, 2009 PDF

  • Narasimha Karumanchi. Data Structures and Algorithms Made Easy. CareerMonk Plublications, 5 edition.

  • Kurt Mehlhorn, Peter Sanders. Algorithms and Data Structures: The Basic Toolbox. Springer, 2008 edition PDF

  • Peter Brass. Advanced Data Structures. Cambridge University Press, 1 edition PDF

  • Dinesh P. Mehta. Handbook of Data Structures and Applications. Chapman and Hall/CRC, 1 edition PDF

  • Alfred V. Aho, Jeffrey D. Ullman, John E. Hopcroft. Data Structures and Algorithms. Pearson, 1st edition PDF

  • The content is written by the beaufiful people at Stack Overflow, Algorithms Notes for Professionals book. PDF

Online Courses

  • Easy to Advanced Data Structures created by William Fiset on Udemy

  • Data Structures & Algorithms created by DS Guy on Udemy

  • Algorithms Specialization created by Standford University on Coursera

  • Algorithms,Part1 created by Princeton University on Coursera

Persian Resources

Programming Resources

All programming assignments are in C#. Here are some resources to get you up to speed with C#.

  • List of free C# ebooks online.
  • How to program in C# - Beginner Course on YouTube
  • Learn C# interactive tutorial
  • Online playground for C#.
  • A list of sites for competitive programming problem sets.
  • Object Oriented Programming using C# (read online here)
  • Data Structures and Algorithms with Object-Oriented Design Patterns in C# (web archive here)
  • Learn how to program: C# from Epicodus Inc.

  • The content is written by the beaufiful people at Stack Overflow, C# Notes for Professionals book. PDF