- Data structures were fundamental before ( perl's hashes-of-arrays-of-hashes-of-hashes, anyone ? ) and with the rediscovered FP paradigm, those are fundamental again. Once you figure the proper data model, the algorithm becomes much clearer ( https://www.amazon.com/gp/product/0131997467/ )
- Recursion, which importance is very well discussed on this blog post: https://www.joelonsoftware.com/2005/12/29/the-perils-of-java...
- Graph theory also was invaluable over the years ( http://www.maths.lse.ac.uk/Personal/jozef/LTCC/Graph_Theory_... and https://freevideolectures.com/course/3019/graph-theory ).
( hope that helps... )