-
I Foundations
- 1 The Role of Algorithms in Computing
- 2 Getting Started
- 3 Growth of Functions
- 4 Divide-and-Conquer
- 5 Probabilistic Analysis and Randomized Algorithms
-
II Sorting and Order Statistics
- 6 Heapsort
- 7 Quicksort
- 8 Sorting in Linear Time
- 9 Medians and Order Statistics
-
III Data Structures
- 10 Elementary Data Structures
- 11 Hash Tables
- 12 Binary Search Trees
- 13 Red-Black Trees
- 14 Augmenting Data Structures
-
IV Advanced Design and Analysis Techniques
- 15 Dynamic Programming
- 16 Greedy Algorithms
- 17 Amortized Analysis
-
V Advanced Data Structures
- 18 B-Trees
- 19 Fibonacci Heap
- 20 Van Emde Boas Trees
- 21 Data Structures for Disjoint Sets
-
VI Graph Algorithms
- 22 Elementary Graph Algorithms
- 23 Minimum Spanning Trees
- 24 Single-Source Shortest Paths
- 25 All-Pairs Shortest Paths
- 26 Maximum Flow
-
VII Selected Topics
- 27 Multithreaded Algorithms
- 28 Matrix Operations
- 29 Linear Programming
- 30 Polynomials and the FFT
- 31 Number-Theoretic Algorithms
- 32 String Matching
- 33 Computational Geometry
- 34 NP-Completeness
- 35 Approximation Algorithms
-
VIII Appendix: Mathematical Background
- A Summations
- B Sets, Etc.
- C Counting and Probability
- D Matrices
-
Chapter 1. Introduction to Algorithms
-
Chapter 2. Selection Sort
-
Chapter 3. Recursion
-
Chapter 4. Quicksort
-
Chapter 5. Hash Tables
-
Chapter 6. Breadth-first Search
-
Chapter 7. Dijkstraβs algorithm
-
Chapter 8. Greedy algorithms
-
Chapter 9. Dynamic programming
-
Chapter 10. K-nearest neighbors
-
Chapter 11. Where to go next
Beginner Python exercises from resource https://www.practicepython.org/.
- Character Input
- Odd Or Even
- List Less Than Ten
- Divisors
- List Overlap
- String Lists
- List Comprehensions
- Rock Paper Scissors
- Guessing Game One
- List Overlap Comprehensions
- Check Primality Functions
- List Ends
- Fibonacci
- List Remove Duplicates
- Reverse Word Order
- Password Generator
- Decode A Web Page
- Cows And Bulls
- Decode A Web Page Two
- Element Search
- Write To A File
- Read From File
- File Overlap
- Draw A Game Board
- Guessing Game Two
-
C++ Essential Training (Video course)
Learn C++ programming, starting with the basics. Widely used for both systems and applications development, C++ is available for virtually every operating system and has influenced and informed many derivative languages, including C# and Java. In this course, Bill Weinman guides you through the nuts and bolts of this essential language.
-
The C Programming Language (Book) The C Programming Language (sometimes termed K&R, after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as co-designed the Unix operating system with which development of the language was closely intertwined.