Data Structure and Algorithm
Implement a LinkedList that can be served as a Double ended Queue
Union By Rank and Path Compression in Union-Find (Disjoint Sets)