Data Structures & Algorithms#
Contents#
Sections#
Resources#
Courses#
[ y ] PSU CMPSC 465
Carnegie Mellon
[ course ] CS 2112 (Fall 2021)
[ course ] CS 2112 (Fall 2020)
[ course ] 15-351 Algorithms and Advanced Data Structures
[ course ] COT 6405 Algorithms (Fall 2003)
[ course ] Syracuse University’s CIS 675 Design and Analysis of Algorithms (Spring 2019)
[ course ] University of Illinois Urbana-Champaign’s CS 476 Program Verification (Fall 2022)
YouTube#
Algorithms Lab Data Structures & Algorithms
[ y ]
02-23-2021
“Binary search and recursion”.
Coding with John
[ y ]
11-30-2021
“Quicksort Sort Algorithm in Java - Full Tutorial With Source”.
Jan Verschelde [ CS 401/MCS 401: Computer Algorithms I ]
[ y ]
06-13-2024
Jan Verschelde. “Implementing Algorithms by Selecting Data Structures, applied to the Gale-Shapley Algorithm”.
More
[ y ]
03-02-2021
CuriousWalk. “Quick Sort Algorithm”.[ y ]
03-01-2024
DrOfEng. “Bubble Sort, Big O, O(N^2), Recurrence Relation - Discrete Mathematics”.[ y ]
03-15-2024
ForrestKnight. “How Data Structures & Algorithms are Actually Used”.[ y ]
10-16-2020
Keep On Coding. “Big O Notation - Code Examples”.[ y ]
03-13-2014
jadavparesh808. “Analysis of Non recursive Algorithms”.[ y ]
12-30-2019
Lex Fridman. “Donald Knuth: Algorithms, Complexity, and The Art of Computer Programming | Lex Fridman Podcast #62”.[ y ]
08-22-2021
Nemean. “How Karatsuba’s algorithm gave us new ways to multiply”.[ y ]
03-24-2020
Shaun Sullivan. “6.7 Loop Invariants”.[ y ]
05-09-2023
strager. “Big O myths busted! (Time complexity is complicated)”.
Texts#
[ w ] 2022
Cormen, Thomas H. et al. Introduction to Algorithms. 4th Ed. MIT Press.
2006
Dasgupta, Sanjoy; Christos Papadimitriou; & Umesh Vazirani. Algorithms. McGraw-Hill Education.
[ h ] 2020
Skiena, Steven S. The Algorithm Design Manual. Springer: Texts in Computer Science.
----
Bentley, Jon. Programming Pearls. 2e. Addison-Wesley Professional.
[ h ][ g ] 2017
Downey, Allen B. Think Data Structures: Algorithms and Information Retrieval in Java. O’Reilly.
[ h ] 2013
Goodrich, Michael T.; Roberto Tamassia; & Michael H. Goldwasser. Data Structures and Algorithms in Python Wiley.
1989
R. Graham, D. Knuth, and O. Patashnik. Concrete Mathematics. Addison-Wesley.
2021
Heineman, George. Learning Algorithms: A Programmer’s Guide to Writing Better Code. O’Reilly.
2006
J. Kleinberg and E. Tardos. Algorithm Design. Addison Wesley.
2022
Kubica, Jeremy. Data Structures the Fun Way: An Amusing Adventure with Coffee-Filled Examples. No Starch Press.
2021
La Rocca, Marcello. Advanced Algorithms and Data Structures. Manning.
[ h ][ g ] Morin, Pat. Open Data Structures.
2019
Needham, Mark & Amy E. Hodler. Graph Algorithms: Practical Examples in Apache Spark & Neo4j. O’Reilly.
[ h ] 2011
Sedgewick, Robert & Kevin Wayne. Algorithms. 4th Ed. Addison-Wesley Professional.
2022
Sweigart, Al. The Recursive Book of Recursion: Ace the Coding Interview with Python and JavaScript. No Starch Press.
2022
Tahirovic, Emin; Dzejla Medjedovic; & Ines Dedovic. Algorithms and Data Structures for Massive Datasets. Manning.
2021
Tuckfield, Bradford. Dive Into Algorithms: A Pythonic Adventure for the Intrepid Beginner. No Starch Press.
2023
Zingaro, Dan. Algorithmic Thinking. 2e. No Starch Press.
Terms#
[ w ] Abstraction
[ w ] Algebraic Data Type
[ w ] Algorithm
[ w ] Analysis of Algorithms
[ w ] Asymptotic Analysis
[ w ] Asymptotic Computational Complexity
[ w ] Big O Notation
[ w ] Bit Field
[ w ] Collection
[ w ] Computational Complexity
[ w ] Computational Problem
[ w ] Container
[ w ] Counting Problem
[ w ] Divide and Conquer
[ w ] Dynamic Array
[ w ] First In First Out (FIFO)
[ w ] Function Object
[ w ] Function Pointer
[ w ] Greedy Algorithm
[ w ] In-Place Algorithm
[ w ] Iterator
[ w ] Lazy Evaluation
[ w ] Loop Fission
[ w ] Loop Fusion
[ w ] Loop Invariant
[ w ] Master Theorem
[ w ] Memoization
[ w ] Metaprogramming
[ w ] Method of Undetermined Coefficients
[ w ] Name-Value Pair
[ w ] Prefix Sum
[ w ] Pseudocode
[ w ] Recurrence Relation
[ w ] Recursion
[ w ] Sentinel Value
[ w ] Set
[ w ] Stirling’s Approximation
[ w ] Stream
[ w ] String
[ w ] Syntactic Sugar
[ w ] Template Metaprogramming
[ w ] Thunk
[ w ] Time Complexity
[ w ] Value Semantics
[ w ] Worst-Case Complexity