Metadata-Version: 2.4
Name: sorting_suite
Version: 1.0.0
Summary: A large suite of numerical sorting algorithms in Python
Home-page: https://reesefairchild.github.io/sorting_suite
Author: Reese Fairchild
Author-email: rfair@uw.edu
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

**sorting-suite** is a simple Python library providing a comprehensive collection of numerical sorting algorithms, along with helpful utility functions.  
---

## Sorting Algorithms by Average Runtime

**O(n + k)**
- Bucket Sort

**O(log^2 n)**
- Bitonic Sort (can only be used on lists with size that is multiple of 2)

**O(n log n)**
- Heap Sort
- Merge Sort
- Quick Sort
- Shell Sort

**O(n^2)**
- Bubble Sort
- Comb Sort
- Insertion Sort
- Selection Sort

**O(n!)**
- Bogo Sort (please do not use this one)

---

## Stable Sorts
- Bucket Sort
- Bubble Sort
- Insertion Sort
- Merge Sort

---

## Utility Functions

- **`swap(a, b)`** – Swap two elements.  
- **`is_sorted(arr)`** – Check if an array is sorted.  
- **`reverse(arr)`** – Reverse the elements of a list. Allows above sorting functions
to sort in descending order, if desired.

---

## Installation

```bash
pip install sorting-suite
