Some0ne11 / cpt212-sorting-algo

A Java program that implements bucket-based radix sort for sorting numbers and words, with complexity analysis through primitive operation counting and Excel graph plotting.

Repository from Github https://github.comSome0ne11/cpt212-sorting-algoRepository from Github https://github.comSome0ne11/cpt212-sorting-algo

πŸ“Š Bucket-Based Radix Sort Algorithm

Technologies   β€’   Getting Started   β€’   Team Members

A Java program that implements bucket-based radix sort for sorting numbers and words, with complexity analysis through primitive operation counting and Excel graph plotting.

🌐Preview the Graph for Complexity Analysis

πŸ“Έ Output Preview

Radix Sort Numbers Output

Radix Sort Numbers Output

Radix Sort Words Output

Radix Sort Words Output

πŸ’» Technologies

  • Java
  • Microsoft Excel (for plotting graphs)
  • Git (for version control)

Suggested IDE

  • IntelliJ IDEA
  • Eclipse
  • Visual Studio Code

πŸš€ Getting Started

Follow these instructions to run the project locally.

Prerequisites

Ensure you have the following installed:

Cloning

Clone the project repository:

git clone https://github.com/Some0ne11/cpt212-sorting-algo.git

Running

Compile and run the sorting programs from your IDE or terminal:

# For numeric sorting
javac Sorting.java
java Sorting

# For word sorting
javac WordSorting.java
java WordSorting

# For complexity analysis with counter
javac SortingCounter.java
java SortingCounter

javac WordSortingCounter.java
java WordSortingCounter

πŸ“ˆ Complexity Analysis

  • SortingCounter.java and WordSortingCounter.java are modified versions that count primitive operations.
  • Collected data is analyzed and visualized using Microsoft Excel to observe time complexity trends.
  • Graphs include:
    • Number of operations, T(n) vs input size, n for Number Sort
    • Number of operations, T(n) vs input size, n for Word Sort

🀝 Team Members

Special thanks to all contributors of this project.

Profile Picture
Muhammad Ammar Danial (22301793)
Profile Picture
Ng Xuan Hern (22304061)
Profile Picture
Low Yvonne (22305530)

πŸ“˜ Feel free to fork, contribute, or raise issues to improve this algorithm.

About

A Java program that implements bucket-based radix sort for sorting numbers and words, with complexity analysis through primitive operation counting and Excel graph plotting.


Languages

Language:HTML 81.1%Language:Java 17.9%Language:CSS 1.0%