Algorithms
What's an algorithm?
An algorithm is simply a series of logical instructions that show, from start to finish, how to accomplish a task. By this broad definition, a cake recipe counts as an algorithm.
β [[Hello World]]
Usually, algorithms refer to something a little more specific. They still boil down to a list of step-by-step instructions, but these algorithms are almost always mathematical objects.
β [[Hello World]]
Types of algorithm
There's no overall consensus on how to group algorithms, but you can think of four main categories ([[Hello World]]):
- [[prioritization]] (making an ordered list)
- [[classification]] (picking a category)
- [[association]] (finding links)
- [[filtering]] (isolating what's important)
Most algorithms are some combination of the above.
Algorithmic approaches
You can think of the approaches taken by algorithms as broadly fitting into two key paradigms.
Notes on algorithms that don't fit another particular category.
To Investigate
-
https://news.ycombinator.com/item?id=21577659 -- space invaders genetic gorithm
-
https://dynamic-programming.debkbanerji.com/select-problem visualization of dp problems
-
https://www.youtube.com/watch?v=xP5-iIeKXE8&utm_source=Hackaday.com&utm_campaign=ec4864ced1-EMAIL_CAMPAIG -- figure out how this works!
-
https://dynamic-programming.debkbanerji.com/select-problem -- dp visualization
stable hybrid radix merge sort https://alexschroeder.ch/wiki/Diary - i'm not sure what this means but it's probably cool https://marc.info/?l=openbsd-tech&m=158965652915344&w=2 30 weird chess algorithms persistent segment tree https://www.metalevel.at/sgp/ https://github.com/The-Tree/LangtonsAnt langston's ant? left leaning red black trees considered harmful algorithmic techniques for information retrieval persistent segment tree https://github.com/ept/crdt-website