This is an algorithm which creates a random maze using Disjoint Set Data Structures (Union and Find). The user can specify the rows and columns of the N x M maze, and the program then generates and displays a randomized maze along with an unique path founded from start to end.