A comprehensive reference for algorithms, design patterns, and more implemented in four languages.

| Algorithm |
Best |
Average |
Worst |
Space |
JS |
Python |
Java |
Kotlin |
| Bubble Sort |
O(n) |
O(n²) |
O(n²) |
O(1) |
✓ |
✓ |
✓ |
✓ |
| Selection Sort |
O(n²) |
O(n²) |
O(n²) |
O(1) |
✓ |
✓ |
✓ |
✓ |
| Heap Sort |
O(n log n) |
O(n log n) |
O(n log n) |
O(1) |
✓ |
✓ |
✓ |
✓ |
| Merge Sort |
O(n log n) |
O(n log n) |
O(n log n) |
O(n) |
✓ |
✓ |
✓ |
✓ |
| Quick Sort |
O(n log n) |
O(n log n) |
O(n²) |
O(log n)* |
✓ |
✓ |
✓ |
✓ |
*Space complexity for Quick Sort is O(n) for the simple implementation (JS/Python) and O(log n) for the in-place version (Java/Kotlin).
| Algorithm |
Average |
Worst |
Space |
JS |
Python |
Java |
Kotlin |
| Binary Search |
O(log n) |
O(log n) |
O(1) |
✓ |
✓ |
✓ |
✓ |
| Language |
Version |
Files |
Conventions |
| JavaScript |
ES6+ |
.js |
camelCase, kebab-case files |
| Python |
3.10+ |
.py |
snake_case, kebab-case files |
| Java |
21+ |
.java |
camelCase, PascalCase classes |
| Kotlin |
1.9+ |
.kt |
camelCase, PascalCase classes |