Data Structures & Algorithms
Overview
DSA is really the bread and butter for good programming practices. Organizing code and data in your program using the tools you learn in this course will allow you to perform well in technical/coding interviews and make you a proficient programmer.
Navigation
Prerequisites
This course has the following prerequisites:
This course is a prerequisite for:
Textbooks
Title | Author(s) | Edition |
---|---|---|
Introduction to Algorithms | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein | 2nd (2001) |
Problem Solving with Algorithms and Data Structures | Brad Miller & David Ranum | 3rd (2013) |
Algorithm Design and Applications | Michael T. Goodrich & Roberto Tamassia | 1st (2015) |
Introduction to Algorithms | Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest & Clifford Stein | 3rd (2009) |
Competitive Programmer’s Handbook | Antti Laaksonen | Draft (2017) |
Data Structures and Algorithms in C++ | Adam Drozdek | 4th (2013) |
Data Structures and Algorithm Analysis in Java | Mark Allen Weiss | 3rd (2012) |
Data Structures and Algorithms in Python | Michael T. Goodrich, Roberto Tamassia & Michael H. Goldwasser | 1st (2013) |
Data Structures and Algorithms Made Easy | Narasimha Karumanchi | 1st (2010) |
Algorithms Part I - Princeton | Sedgewick & Wayne | 4th (2014) |
Algorithms + Data Structures = Programs | Niklaus Wirth | 1st (1978) |
Code
- Algorithms & data structures project, William Fiset
- WhatsAlgo, Mohammed Shoaib
- TheAlgorithms, Open Source resource for learning Data Structures & Algorithms
Videos
- MIT 6.006 Introduction to Algorithms, Fall 2011, MIT OpenCourseWare (Full Course)
- Algorithms and Data Structures, Ravindrababu Ravula (Full Course)
- Algorithms, Abdul Bari
- Data Structures, mycodeschool
- Playlists, GeeksforGeeks
- Playlists, Lalitha Natraj
- Algorithms, Khan Academy
- CS50: Algorithms, Harvard
- CrashCourse CS: Algorithms, Crash Course
- CrashCourse CS: Data Structures, Crash Course
- Dijkstra's Algorithm, Computerphile
- Sorting Algorithms, TED-Ed
- 15 Sorting Algorithms Visualized, Timo Bingmann
- Big O Explained, Undefined Behaviour
Websites
- GATE CS Notes, GeeksforGeeks
- BaseCS, Vaidehi Joshi
- Algorithms, Princeton
- Algorithms, Brilliant.org
- Big O, Brilliant.org
- Competitive Programming Resources, BPDC ACM CP
- VisuAlgo, Dr Steven Halim
- Data Structure Visualizations, David Galles
- Algorithm Visualizer, Jinseo Jason Park