NICOLÁS BOTTARINI
Back to the path

Computing foundations

Algorithms and Data Structures

168 pages of reading

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