= Algorithms and Data structures = Different ways to store and operate on data, with differing efficiency == Sequential Data Structures == * [[array|Array]] * [[vector|Vector]] * [[linked_list|Linked List]] * [[stack|Stack]] * [[queue|Queue]] * [[skip_list|Skip list]] * [[hash_table|Hash Table]] == Non sequential Data Structures == * [[binary_tree|Binary Tree]] * [[graph|Graph]] * [[b_tree|B-Tree]] * [[red_black_tree|Red Black Tree]] * [[splay_tree|Splay Tree]] * [[avl_tree|AVL Tree]] * [[kd_tree|KD Tree]] * [[Heap]] - [[Fibonacci_heap]] == Probabilistic Data Structures == * [[Bloom_filter|Bloom Filter]] == Common Algorithms == === Graph and Tree === * [[BFS]] * [[DFS]] * [[Dijkstra]] == Sorting == * [[quicksort|Quicksort]] * [[mergesort|Mergesort]] * [[heapsort|Heapsort]] * [[radix|Radix]] * [[bucket|Bucket]] * [[counting|Counting]] == Paradigms == * [[simple_recurison|Simple Recursion]] * [[divide_and_conquer|Divide and Conquer]] * [[dynamic_programming|Dynamic Programming]] * [[greedy_algorithm|Greedy Algorithms]] * [[brute_force|Brute Force]] * [[randomized_algorithm|Randomized Algorithms]] * [[genetic|Genetic Algorithms]] * [[swarm|Swarm Inteligence]] * [[machine_learning|Machine Learning]] * [[neural|Neural Networks]] == Programming patterns == === Creational === * [[singleton]] * [[prototype]] === Structural === === Behavioral === * builder * factory * facade * proxy * iterator * observer * mediator * state == Common operations == * [[gcd]] - Find the GCD of two numbers * [[modular_exponentiation|Modular Exponentiation]] - Solve a^b mod n [[index]]