This project is a GUI-based application built using Core Java (Swing) to compare the performance of different sorting algorithms.
It measures execution time, comparisons, and swaps, and visually represents results using charts and tables.
- Java (Core Java)
- Swing (GUI Development)
- Multithreading (Concurrency)
- Collections Framework
- File Handling
-
Compare multiple sorting algorithms:
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Arrays.sort (TimSort)
-
Visual performance comparison:
- Bar Chart
- Line Chart
- Horizontal Chart
-
Displays:
- Execution Time (ms)
- Number of Comparisons
- Number of Swaps
-
Supports:
- Different data types (Random, Sorted, Reverse, etc.)
- Custom dataset upload (CSV / TXT file)
-
Interactive GUI with:
- Algorithm selection
- Array size control
- Execution logs
- Real-time benchmarking
-
Step-by-step visualization of sorting algorithms
-
Highlights:
- Comparisons
- Swaps
- Sorted elements
- Open the file in any Java IDE (Eclipse / IntelliJ / VS Code)
- Compile the program
- Run the main class
AlgorithmComparator - Use GUI to select algorithms and run benchmark
- Performance comparison table
- Graphical visualization
- Execution logs
This project was developed as part of learning Core Java concepts including GUI development, multithreading, and algorithm analysis.
- Understanding of sorting algorithms
- Performance comparison techniques
- Java Swing GUI development
- Multithreading and concurrency