Implementation of various Data Structure algorithms
- Tree
- Node
- Root
- Edge
- Leaf
- Depth - Distance from Root to node
- Height - Distance from leaf to node
- Level - Root is at Level 0, it's children are at level 1 and so on..
- Ancestor
- Children
- 0, 1, 2 children
- Left and Right child
- Complete Binary tree
- Full Binary tree - All have 2 children
- Insertion, Deletion, Retrieval in O(log N)
- Left smaller than parent, right larger
- Self-Balancing Trees
- AVL, Red-Black Tree
- Add
- Traversals:
- Level: Visit nodes on each level
- Pre-order: Visit root first (Root, Left, Right)
- Post-order: Visit root last (Left, Right, Root)
- In-order: Visit left, root, right (Returns sorted data)
- Search
- Min
- Max
- Delete
- Search
- LinearSearch
- BinarySearch
- JumpSearch
- Sort
- JumpSearch
- JumpSearch
- InsertionSort
- MergeSort
- HeapSort
- AddFirst
- AddLast
- AddAfterMiddle
- RemoveFirst
- RemoveLast
- RemoveAfterMiddle
- RemoveWhere
- Length
- Pop
- Push
- Pop
- Push