Write a Python program to implement and compare the performance of three different sorting algorithms: Merge Sort, Quick Sort, and Heap Sort.
Analyze the time complexity of each algorithm (best, average, and worst cases).
Measure the execution time for each algorithm with input arrays of increasing size (e.g., 1000, 10,000, 100,000 elements).
Plot a graph to visualize the time taken by each algorithm as the input size increases.
Discuss the results and explain under what conditions one algorith
...more