GitHunt
SO

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.

๐Ÿ“Š 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.