- 
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.
 



