For the Edstem-Lesson-Tracker project we use the following data structures and algorithms:
mindmap
root((DSA))
Splay Tree
Binary Heap
AVL Tree
Description A Binary Heap is a self balancing data structure that acts very similarly to a priority queue with binary search tree qualities
classDiagram
class BinaryHeap {
- heap: vector<EATNode*>
- heapSize: int
+ BinaryHeap()
+ ~BinaryHeap()
+ insert(EATNode*)
+ find(int): EATNode*
+ extractMin(): EATNode*
+ printBinaryHeap(int)
+ printFilters()
+ filterBinaryHeap(int)
+ checkCol(int, int)
+ printAllTypes()
}
classDiagram
class SplayTree {
- root: EATNode*
+ SplayTree()
+ ~SplayTree()
+ insert(EATNode*)
+ remove(int)
+ search(int): EATNode*
+ printSplayTree()
+ add_bh_pointer(int, void*)
+ get_bh_pointer(int): void*
}
classDiagram
class AVLTree {
- root: EATNode*
+ AVLTree()
+ ~AVLTree()
+ search(int): EATNode*
+ insert(EATNode*)
+ printAVLTree(int)
+ isBalanced(): bool
+ printFilters()
+ printAllTypes()
}