This report discusses the analysis of the two given algorithms, comparison between them on the basis of efficiency and correctness, in both theoretical and practical manner. To analyze these algorithms, both have been implemented using Java and their runtime characteristics has been measured and compared based on count of the number of total operations performed by the algorithms and total execution time taken by each of them.