Computing foundations
Algorithms and Data Structures
The classic data structures and algorithms, and how to analyze their complexity. The idea is not to memorize them but to know which options exist and how much each one costs.
Topics
Algorithmic Complexity
O-Notation, Space vs Time Complexity, Constant, Linear, Quadratic, Exponential, Logarithmic
Strategies
Iteration, Recursion, Brute Force, Backtracking, Greedy, Divide and Conquer
Data Structures
Abstract Data Types, Arrays, Stack, Queue, Linked List, Hash Table, Dictionary, Tree, Binary Tree, Heap, Binary Search Tree, Trie, Graph, Set, Bag, Priority Queue, Sorted List
Sorting Algorithms
Bubble Sort, Merge Sort, Quicksort, Selection Sort, Heap Sort
Searching Algorithms
Binary Search, Graph Traversal, Depth First Search, Breadth First Search
Collection Pipelining
map, filter, take, aggregate, sort, reduce
Tail Recursion to Iteration
Resources
- The Imposter’s Handbook Season 1 2.2 - A CS Primer for Self-Taught Developers
Book · Rob Conery, Big Machine Inc., 2016 · Chapters: Big-O, Data Structures, Algorithms: Simple · 91 pages
- Computer Science Distilled - Learn the Art of Solving Computational Problems
Book · Wladston Ferreira Filho, Code Energy LLC, 2017 · Chapters: 3, 4, 5 · 66 pages
- Function composition and the Collection Pipeline pattern
Article · 5 pages
- Algorithms, 4th Ed (Robert Sedgewick, Kevin Wayne, Addison-Wesley, 2011)
Link
- The Art of Computer Programming - Vol 1, 3rd Edition
Book · Donald Knuth, Addison-Wesley, 1997