Algorithms: Difference between revisions
From charlesreid1
(→Search) |
(→Sort) |
||
| Line 30: | Line 30: | ||
[[Algorithms/Sort]] | [[Algorithms/Sort]] | ||
==Searching== | |||
[[Algorithms/Searching]] | |||
==Graphs== | ==Graphs== | ||
Revision as of 23:20, 11 July 2017
Overview of Categories
Algorithms can be divided into categories:
- Data structures - algorithmic analysis of data structures
- Strings - algorithms for operations on strings
- Search - search algorithms for searching and search-related data structures
- Sort - basic and advanced algorithms for sorting data
- Graphs - graph structures, algorithms on graph structures. Design graph structures, not algorithms!
- Optimization - solving minimization/maximization problems under constraints, counting problems, etc.
Programming practice and writeups:
- Competitive programming
- Project Euler
- Research and Teaching Blog - https://charlesreid1.github.io
Data Structures
Algorithmic analysis of data structures, such as binary search trees. Mathematical modeling and probability tools for quantitative analysis of code.
Strings
Algorithms for strings. What are some fast String algorithms, and how can we utilize them in other contexts? (e.g., comparing extremely large subtrees.)
Sort
Searching
Graphs
Optimization
Some of the basic algorithms of optimization, types of constraints, types of solvers and solutions.
Don't waste all your time implementing solutions from scratch if there are better tools available. And in this case, there are: Google OR tools.
Practice and Writeups
Project Euler - number theory and mathematical programming
https://charlesreid1.github.io/ - research and teaching blog
Flags
| Algorithms Part of Computer Science Notes
Series on Algorithms
Algorithms/Sort · Algorithmic Analysis of Sort Functions · Divide and Conquer · Divide and Conquer/Master Theorem Three solid O(n log n) search algorithms: Merge Sort · Heap Sort · Quick Sort Algorithm Analysis/Merge Sort · Algorithm Analysis/Randomized Quick Sort
Algorithms/Search · Binary Search · Binary Search Modifications
Algorithms/Combinatorics · Algorithms/Combinatorics and Heuristics · Algorithms/Optimization · Divide and Conquer
Algorithms/Strings · Algorithm Analysis/Substring Pattern Matching
Algorithm complexity · Theta vs Big O Amortization · Amortization/Aggregate Method · Amortization/Accounting Method Algorithm Analysis/Matrix Multiplication
Estimation Estimation · Estimation/BitsAndBytes
Algorithm Practice and Writeups Project Euler · Five Letter Words · Letter Coverage
|
References
Awesome algorithms: https://github.com/tayllan/awesome-algorithms
Awesome math: https://github.com/rossant/awesome-math