มีเทคนิคการจัดเรียง 200+ แบบ จะดูบางตัว บางแบบเป็น Comparison-based บางแบบ Non-comparison-based
Comparison-based Sorting
Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quicksort, Heap Sort – เปรียบเทียบค่าแล้ววางตำแหน่ง
Time Complexity
| Analysis Type | Bubble Sort | Selection Sort | Insertion Sort | Merge Sort | Quick Sort | Heap Sort |
|---|---|---|---|---|---|---|
| Best Case | O(n²) | O(n²) | O(n) | O(n log n) | O(n log n) | O(n log n) |
| Average Case | O(n²) | O(n²) | O(n²) | O(n log n) | O(n log n) | O(n log n) |
| Worst Case | O(n²) | O(n²) | O(n²) | O(n log n) | O(n²) | O(n log n) |
แก้ไข: ต้นฉบับมีข้อผิดพลาด Merge/Quick/Heap Sort Best Case เขียน O(log n) ผิด – ควรเป็น O(n log n)
Non-comparison-based Sorting
Radix Sort, Counting Sort, Bucket Sort – ไม่เปรียบเทียบค่าระหว่างกัน
Time Complexity
| Analysis Type | Radix Sort (k=หลักสูงสุด) | Counting Sort (k=ขนาด Count Array) | Bucket Sort (k=จำนวน Buckets) |
|---|---|---|---|
| Best Case | O(nk) | O(n + k) | O(n + k) |
| Average Case | O(nk) | O(n + k) | O(n + k) |
| Worst Case | O(nk) | O(n + k) | O(n²) |
การจัดประเภทเพิ่มเติม
- In-place Sorting – ไม่ต้องการพื้นที่เพิ่ม: Quicksort, Heapsort
- Out-place Sorting – ต้องการพื้นที่เพิ่ม: Merge Sort
- Online Sorting – รับข้อมูลใหม่ระหว่างจัดเรียงได้: Insertion Sort
- Offline Sorting – ต้องมีข้อมูลครบก่อนจัดเรียง