2019-221
2019-221
Sorting An Array in Pseudo Linear Time
RANDOLPH T. BUSHMANIt is common knowledge that sorting an Array in the comparison model of sorting has a lower bound of O(n*log(n)), meaning that it is impossible to achieve a best case that sorts an array in a time complexity that is proportional to its size in all cases. If we enter the counting model of sorting, we enter a brand-new ball game. The time complexity when sorting an Array is typically faster, however we are now limited to only sorting integers or objects with integer keys. We also now depend on a second variable k (the range of the numerical values). One of the simplest algorithms in the counting model is what is known as Counting Sort. Counting Sort has a time and space complexity of O(n + k). This is important because it is used as a subroutine in the sorting algorithm which is presented in this paper. That sorting algorithm, Tuff Sort, can achieve a time and space complexity of O(n + k/n). A recent discovery has given the algorithm the ability to sort with both a time and space complexity of O(n + sqrt(k)). Neither one outperforms the other in all cases. These results bring the Computer Science community one step closer to sorting an Array in Linear time O(n).
College of Science & Mathematics
Main Menu
- Computer Science
- Academic Programs
- BS Computer Science
- BA Computing & Informatics
- BA Computer Systems Technology
- MS Computer Science
- MS Cybersecurity
- MS Data Science
- PhD Data Science
- Minor in Computer Science
- Minor in Data Science
- Accelerated Dual Degree Program
- Certificates of Undergraduate Study
- Certificates of Graduate Study
- Concentrations BS CS
- Concentrations BA C&I
- Cybersecurity
- Data Science
- Compare University Computing Programs
- Compare our Undergraduate Programs
- Advising Materials
- Undergraduate
- BS Computer Science
- BA Computing & Informatics
- BA Computer Systems Technology
- Certificate of Undergraduate Studies
- Computer Programming
- Mobile Apps CUGS
- Fundamental Computing CUGS
- Cybersecurity
- Blockchain Technologies and Cryptocurrencies
- Advanced Network Technology
- Azure Fundamentals
- Cybersecurity in Information Technology
- Database Development
- Database Fundamentals
- Digital Forensics
- Ethical Hacking
- Internet of Things
- Intrusion Detection/Prevention
- Linux Systems Administration
- Network Fundamentals
- Operating Systems Fundamentals
- Minor Degrees
- CS Undergraduate Catalog
- Graduate
- "4+1" (ADDP)
- Program Guides
- BS Computer Science
- BS Data Science
- Minor in Computer Science
- Concentrations
- CUGS Guides
- Advanced Network Technology
- Azure Fundamentals
- Blockchain Technologies & Cryptocurrencies
- Computer Programming
- Cybersecurity
- Cybersecurity in Information Technology
- Database Development
- Database Fundamentals
- Digital Forensics
- Ethical Hacking
- Fundamental Computing
- Internet of Things
- Intrusion Detection/Prevention
- Linux Systems Administration
- Mobile Application Development
- Network Fundamentals
- Operating Systems Funamentals
- 4+1 Programs
- MS Computer Science
- MS Cybersecurity
- COGS Guides
- MS Data Science
- Standard Course Syllabi
- Forms & Policies
- Undergraduate
- Faculty and Staff
- Students
- Research
- News
- Events
- Contacts
- Faculty Portal - secured
- Site Index
- Can't find it?
- Computer Science