Tree Data Structures
Hierarchical data structures optimized for search and retrieval.
Binary Search Tree
Bases: BinaryTree[T]
A strictly typed, memory-optimized Binary Search Tree.
Source code in pure_python_ds/trees/binary_search_tree.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | |
delete(key)
Removes a key from the BST. Targets 100% coverage for deletion logic.
Source code in pure_python_ds/trees/binary_search_tree.py
63 64 65 | |
find(value)
Iterative O(log n) search returning True if value exists.
Source code in pure_python_ds/trees/binary_search_tree.py
39 40 41 42 43 44 45 46 47 48 49 | |
insert(value)
Iterative O(log n) insertion to maintain strict order.
Source code in pure_python_ds/trees/binary_search_tree.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | |
search(key)
Searches for a key in the BST and returns the value if found.
Source code in pure_python_ds/trees/binary_search_tree.py
51 52 53 | |
AVL Tree
Bases: BinarySearchTree[T]
A strictly typed, self-balancing AVL Tree guaranteeing O(log n) operations.
Source code in pure_python_ds/trees/avl_tree.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | |
insert(value)
Public insert method that triggers the recursive balancing engine.
Source code in pure_python_ds/trees/avl_tree.py
55 56 57 | |
search(key)
Searches for a key and returns it if found.
Source code in pure_python_ds/trees/avl_tree.py
152 153 154 155 156 157 158 159 160 161 162 | |
Red-Black Tree
Bases: Generic[T]
Source code in pure_python_ds/trees/red_black_tree.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | |
__str__()
Returns the ASCII visualization of the tree.
Source code in pure_python_ds/trees/red_black_tree.py
14 15 16 17 | |
Trie
Source code in pure_python_ds/trees/trie.py
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | |