User:Valepert/Books/Algorithms and Data Structures

Algorithms and Data Structures

 * Introduction
 * Algorithm
 * Analysis of algorithms
 * Computability theory
 * Computational complexity theory
 * Model of computation
 * Random access machine
 * Memory address register
 * Memory data register
 * Arithmetic logic unit
 * Microcode
 * Turing machine


 * Optimization algorithms
 * Karatsuba algorithm
 * Schönhage–Strassen algorithm
 * Merge sort
 * Quicksort
 * Comparison sort
 * Decision tree model
 * Stirling's approximation
 * Matrix multiplication
 * Strassen algorithm
 * Coppersmith–Winograd algorithm
 * Optimal substructure
 * Dynamic programming
 * CYK algorithm
 * Greedy algorithm
 * Knapsack problem


 * Data structures
 * Data structure
 * Array data structure
 * Linked list
 * Hash table
 * Hash function
 * Stack
 * Queue
 * LIFo
 * FIFO
 * Binary tree
 * Heap
 * Binary search tree
 * Self-balancing binary search tree
 * AVL tree
 * Red-black tree
 * 2-3 tree
 * Priority queue
 * Amortized analysis


 * Graph
 * Graph in computer science
 * Graph in mathematics
 * Graph theory
 * Vertex
 * Adjacency matrix
 * Adjacency list
 * Depth-first search
 * Breadth-first search
 * Tree
 * Biconnected graph
 * Kruskal's algorithm
 * Shortest path problem
 * Semiring
 * Boolean algebra
 * Tropical geometry
 * Bellman–Ford algorithm
 * Dijkstra's algorithm


 * NP-completeness
 * Non-deterministic Turing machine
 * Computation tree
 * P versus NP problem
 * P
 * NP
 * NP-complete
 * Boolean satisfiability problem
 * Boolean function
 * Disjunctive normal form
 * Conjunctive normal form
 * Cook–Levin theorem
 * Clique problem
 * Clique
 * Vertex cover


 * Practical problem
 * Spanning tree
 * Big O notation
 * Best, worst and average case
 * Search algorithm
 * Linear search
 * Binary search algorithm
 * Divide and conquer algorithm
 * Recursion
 * Master theorem


 * Sorting algorithm
 * Sorting algorithm
 * Selection sort
 * Insertion sort
 * Bubble sort
 * Heapsort
 * Bucket sort
 * Radix sort