1. Stacks
1.1. With const time for push, pop, min
1.2. Usage
1.3. Features
1.3.1. O(1) of getting the head
2. Heap
2.1. Tree
2.2. Translation to array
2.3. Algorithms
3. Space structures
3.1. K-D tree
4. Priority Queue
4.1. Implementing using heap
5. In programming
5.1. Element cost in data structures
6. Trees
6.1. Trie tree
6.1.1. Link
6.1.2. Used for storing info about words
6.1.3. Easy search
6.1.4. Usage
6.2. Binary
6.2.1. Unordered
6.2.2. BST
6.3. Algorithms
6.4. B-tree
6.4.1. Complexity
6.4.2. Links to next elements (organize single-linked list)
6.5. B+ tree
6.6. 2-4 Trees
6.7. Interval tree
6.8. General usage
6.9. Fenwick tree
7. Linked list
8. Probabilistic
8.1. Bloom Filter
9. Graphs
9.1. Algorithms
9.2. Directed
9.3. Acyclic
9.4. Usage
10. HashMap
10.1. Implementation
10.1.1. non-threadsafe
10.1.2. threadsafe
10.2. Usage
10.2.1. Caches
11. Array/List
11.1. Algorithms
11.1.1. Sorting
11.1.1.1. Bubble sort
11.1.1.2. Merge sort
11.1.1.3. Insertion ort
11.1.1.4. Bucket sort
11.1.1.5. Quicksort
11.1.1.6. Table of complexity
11.1.1.7. Radix sort
11.1.1.8. Heapsort
11.1.1.9. All els greater than pivot move to list2
11.1.1.10. Counting sort
11.1.2. Min and max elements
11.1.2.1. Recursive
11.1.2.2. Non-recursive
11.1.2.3. Article
11.1.3. Find firt pair of dublicates
11.1.4. Find common elements in 2 arrays
11.1.5. Find a number in a sorted array
11.1.6. Find a median in distributed collection on thouands of servers
11.1.7. Maximum contigious ubsequent sum problem