Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/2denata/quicksort
Implementasi algoritma Quick Sort dalam bahasa pemograman Java
https://github.com/2denata/quicksort
Last synced: 9 days ago
JSON representation
Implementasi algoritma Quick Sort dalam bahasa pemograman Java
- Host: GitHub
- URL: https://github.com/2denata/quicksort
- Owner: 2denata
- Created: 2024-08-22T02:44:44.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-08-22T02:52:07.000Z (3 months ago)
- Last Synced: 2024-08-22T03:49:53.923Z (3 months ago)
- Language: Java
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![Java](https://img.shields.io/badge/java-%23ED8B00.svg?style=for-the-badge&logo=openjdk&logoColor=white)
# Quick Sort
Quick Sort merupakan metode pengurutan yang sangat efisien dan sering dipakai untuk mengurutkan daftar atau array. Cara kerjanya adalah dengan memilih satu elemen sebagai pivot (penunjuk), lalu membagi elemen-elemen lainnya menjadi dua kelompok: satu kelompok yang berisi elemen yang lebih kecil dari pivot dan satu lagi yang berisi elemen yang lebih besar. Kemudian, proses ini diulang untuk setiap kelompok hingga semua elemen terurut dengan benar.
# Kompleksitas
Dalam kasus rata-rata, Quick Sort cukup efisien dengan kompleksitas waktu O(n log n), di mana n adalah jumlah elemen dalam array. Ini terjadi ketika pivot membagi array menjadi dua bagian yang hampir sama besar.
# Pro & Cons
## Kelebihan
- **Efisien**: Waktu rata-rata untuk Quick Sort adalah O(n log n), menjadikannya salah satu algoritma pengurutan tercepat untuk array.
- **In-place**: Quick Sort tidak memerlukan ruang tambahan yang signifikan, karena pengurutan dilakukan di dalam array yang sama.## Kekurangan
- **Kasus terburuk**: Dalam kasus terburuk, waktu eksekusi bisa menjadi O(n^2), terutama jika pivot tidak dipilih dengan baik.
- **Stabilitas**: Quick Sort tidak stabil, artinya urutan elemen yang memiliki nilai yang sama mungkin tidak terjaga.# Demo
Misal ada sebuah array dengan variabel larik yang berisi {5, 8, 26, 15, 11, 31}, menggunakan pengurutan Quick Sort membutuhkan beberapa langkah:
![image](https://github.com/user-attachments/assets/adea1b67-bca8-4369-9768-53b33789b6da)
![image](https://github.com/user-attachments/assets/66565e97-5852-4425-a0e6-0cbeef220a1c)
![image](https://github.com/user-attachments/assets/89a6f538-cd1c-4c50-90e5-b2a8e0c9502d)
![image](https://github.com/user-attachments/assets/ce27ac7f-bd29-4795-878d-2235dc57f0e5)