/sorting-algorithms-time-complexity-analysis

This is a Java program that compares the running time of 6 of the most popular sorting algorithms (Bubble sort, insertion sort, selection sort, merge sort, heap sort and quicksort) against various random arrays of different sizes.

Primary LanguageJavaMIT LicenseMIT

Sorting Algorithms Time Complexity Analysis

This Java-based project aims to do the following:

  • The goal of this lab is to understand different (best and worst-case) running times for different sorting algorithm.
  • Become familiar with O(n lg(n)) and O(n^2) sorting algorithms.

This project was developed as part of the course Data Structures II in the Spring 2021 semester at the Faculty of Engineering, Alexandria University, under the Computer and Communications Engineering department, supervised by Dr. Amr El Masry.

Prerequisites

This project was developed in the following environment:

  • IntelliJ IDEA Community Edition 2023.3.4
  • JDK 11

Installing

1- Clone the repository to your local machine:

git clone https://github.com/MohEsmail143/sorting-algorithms-time-complexity-analysis.git

2- The project was developed and tested using JDK 11, so make sure you have this particular version installed on your machine, to ensure runnability:

  • Open IntelliJ IDEA.
  • Go to "File" -> "Project Structure" in the menu bar.
  • In the Project Structure dialog, click on "Project" under the "Project Settings" section on the left sidebar.
  • Look for the "Project SDK" dropdown menu. The JDK version currently configured for the project will be displayed there.

3- Run the project by clicking on Run 'Main.main()'. The following results should begin to appear:

Run results

License

This project is licensed under the MIT License - see the LICENSE.md file for details