You are required to do a comparative study to compare theoretical performance with practical demonstration of the following algorithms:

1- At least three sorting algorithms with at least one of them having Big O efficiency of O(n*log n) or better. You may use algorithms discussed in the course; however, you are encouraged to include other algorithms as well.

2- At least two search algorithms with at least one of them having Big O efficiency of O(log n ) or better, for example, Hash tables. You may use algorithms discussed in the course, however, you are encouraged to include other algorithms as well.

3- The report should be of about 1,000-1500 words and of not more than about ten pages including snapshots and references etc.

4- Don't discuss the general implementation (C code) of the algorithms, however, use inline comments to reflect your understanding of the code. Similarly avoid very detailed description of algorithms, instead give appropriate references.

You must demonstrate performance with respect to at least the following parameters:

a. Number of records: small (less than 100,000), medium (~ 500,000) and large (one million or higher).

b. Randomness of the data, for example partially ordered data vs. pseudo-random data.

c. Any algorithm specific parameter, for example pivot in case of quicksort algorithm. You should analyze/comment on the performance of the algorithm with respect to any variation of such a critical parameter.

d. Discuss and EXPLAIN any variations in performance due to implementation differences of at least one sorting and one search algorithm, for example the performance differences, if any, in case of array-based implementation vs. linked- list-based implementation.

The interface of the application must be console-based, menu-driven, very similar to the snapshot given below:

Figure 1 Main interface of the application: see image.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.