golang structure implements
LinkedList
stack ----->depend on LinkedList
que ----->depend on LinkedList
heap
priority ----->que depends on heap
segment tree
avl tree
binary search tree(bst) ----->depends on stack and que
set ----->depends on bst
UnionFind
LInterface defines data interface