chap non-binary trees projects write classes that implement the general tree class declarations of figure using the dynamic "left-child/right-siblingrepresentation described in section write classes that implement the general tree class declarations of figure using the linked general tree implementation with child pointer arrays of figure your implementation should support only fixed-size nodes that do not change their number of children once they are created thenreimplement these classes with the linked list of children representation of figure how do the two implementations compare in space and time efficiency and ease of implementation write classes that implement the general tree class declarations of figure using the linked general tree implementation with child pointer arrays of figure your implementation must be able to support changes in the number of children for node when createda node should be allocated with only enough space to store its initial set of children whenever new child is added to node such that the array overflowsallocate new array from free store that can store twice as many children implement bst file archiver your program should take bst created in main memory using the implementation of figure and write it out to disk using one of the sequential representations of section it should also be able to read in disk files using your sequential representation and create the equivalent main memory representation use the union/find algorithm to implement solution to the following problem given set of points represented by their xy-coordinatesassign the points to clusters any two points are defined to be in the same cluster if they are within specified distance of each other for the purpose of this problemclustering is an equivalence relationship in other wordspoints aband are defined to be in the same cluster if the distance between and is less than and the distance between and is also less than deven if the distance between and is greater than to solve the problemcompute the distance between each pair of pointsusing the equivalence processing algorithm to merge clusters whenever two points are within the specified distance what is the asymptotic complexity of this algorithmwhere is the bottleneck in processing in this projectyou will run some empirical tests to determine if some variations on path compression in the union/find algorithm will lead to im