this package contains implementations from the classic data structures in the CLRS
Currently supported data structures:
- AVL (Adelson-Velsky and Landis)
- BitMask
- BST (binary search tree)
- Deque
- DJS (disjoint sets)
- DoubleLinkedList
- FenwickTree (bonary indexed tree)
- LinkedList
- Heap (min heap)
- RadixTree
- RBTree (red–black tree)
- SegmentTree
- SkipList
- SplayTree
- Treap (bst + heap)
- Trie
- VEB (van Emde Boas tree)
All the implementations have an intuitive __repr__() function i.e.
from datality import AVL
avl = AVL([7, 17, 15, 3, 8, 13, 1, 18, 19, 0, 12, 5, 10, 9, 4, 14, 11, 2, 6, 16])
print(avl)
-->(19)
-->(18)
-->(17)
-->(16)
-->(15)
-->(14)
-->(13)
-->(12)
-->(11)
-->(10)
-->(9)
-->(8)
-->(7)
-->(6)
-->(5)
-->(4)
-->(3)
-->(2)
-->(1)
-->(0)pip3 install datalityimport as any other module with the following statement:
# from datality.avl import AVL
from datality import AVL
# from datality.bit_mask import BitMask
from datality import BitMask
# from datality.bst import BST
from datality import BST
# from datality.deque import Deque
from datality import Deque
# from datality.disjoint_set import DJS
from datality import DJS
# from datality.double_linked_list import DoubleLinkedList
from datality import DoubleLinkedList
# from datality.fenwick_tree import FenwickTree
from datality import FenwickTree
# from datality.linked_list import LinkedList
from datality import LinkedList
# from datality.min_heap import Heap
from datality import Heap
# from datality.radix_trie import RadixTree
from datality import RadixTree
# from datality.rb_tree import RBTree
from datality import RBTree
# from datality.segment_tree import SegmentTree
from datality import SegmentTree
# from datality.skip_list import SkipList
from datality import SkipList
# from datality.splay_tree import SplayTree
from datality import SplayTree
# from datality.treap import Treap
from datality import Treap
# from datality.trie import Trie
from datality import Trie
# from datality.van_emde_boas import VEB
from datality import VEB