Welcome to my sorting algorithm project! This algorithm was designed iteratively over time, driven purely by curiosity and my love for problem solving. While this project began as a fun exploration, the final result is something I'm proud of. The design and structure of this algorithm were completely conceptualized by me, though I sought occasional assistance from AI to refine certain areas.
This repository contains two key files:
-
sort.c: The final, optimized version of the algorithm, achieving a time complexity of O(n log n). This version leverages multiple data structures and incorporates ideas from well-known algorithms to enhance efficiency. It represents the culmination of my learning journey and exploration of sorting techniques. -
test.c: The original, rudimentary version of the algorithm, developed during my first exposure to sorting algorithms in class. It operates with a time complexity of O(n²) and serves as a testament to the early ideas I had around sorting when I first learned the concept. Despite its inefficiency, it holds sentimental value for me as it represents the foundation of this project.
-
Final Version (
sort.c): O(n log n)- This version balances efficiency with readability, using a combination of data structures and algorithmic optimizations.
-
Basic Version (
test.c): O(n²)- This was my initial attempt at implementing sorting based purely on my understanding of the concept. Though it's not optimized, it was a crucial stepping stone in the journey.
The final algorithm in sort.c was developed through numerous iterations, each building on the previous version. I explored various techniques, gradually refining the process to reduce time complexity and improve overall performance. The design of this sorting method is unique to me, as I didn't follow any specific reference or guide for its development. It was more of a hobby than a formal research project.
Feel free to experiment with both versions and observe the differences in performance and design. I hope this project can inspire you to explore sorting algorithms, just as I did!