This repository contains notes that have been converted from slideshows I created in college for the University of Florida Programming Team. I plan on adding notes for the more advanced topics I did not get to while at college. If you have any questions, requests, or find an error in the provided notes, please feel free to either open an issue or contact me at [email protected]
Below are websites I recommend for practicing contests and individual problems
Below are books that I recommend reading if you are interested in learning more about competitive programming, as well as data structures and algorithms
- Competitive Programming, 3rd Edition - Steven Halim
- The Algorithm Design Manual, 2nd Edition - Steven Skiena
- Introduction to Graph Theory, 2nd Edition - Richard Trudeau
- Introductory Graph Theory - Gary Chartrand
- Minimum Spanning Tree
- Prim's Algorithm
- Kruskal's Algorithm
- Boruvka's Algorithm
- All Pairs Shortest Path
- Floyd Warshall Algorithm
- Single Source Shortest Path
- Bellman-Ford Algorithm
- Heavy-Light Decomposition
- Strongly Connected Components
- Other
- Vertex Cover
- Edge Coloring
- Euler Tour
- Hamiltonian Cycle
- Max Flow
- Ford-Fulkerson Algorithm
- Dinic's Algorithm
- Push-Relabel Algorithm
- Min-Cost Max-Flow
- Maximum Bipartite Matching
- Hungarian Algorithm
- Convex Hull
- Rotating Calipers
- Sweep Line
- Sieve of Eratosthenes
- Knuth-Morris-Pratt Algorithm
- Boyer-Moore Algorithm
- Longest Common Substring/Subsequence
- Shortest Common Superstring
- Palindromes
- String Data Structures
- Suffix Tree/Array
- Trie
- Segment Trees
- Binary Indexed Trees
- Binary Search Trees
- Kd Trees