Sự khác biệt chính: Sắp xếp bong bóng là hình thức đơn giản nhất của kỹ thuật thuật toán sắp xếp liên quan đến việc hoán đổi hai phần tử liền kề để đặt chúng vào đúng vị trí, khi Quick sort hoạt động trên kỹ thuật phân tách và giành chiến thắng, trong đó phần tử pivotal trở thành tiêu điểm của phân chia xung quanh mảng đã cho.
Mặc dù cả hai kỹ thuật sắp xếp đều được biết là có một vị trí tốt trong thế giới khoa học máy tính, nhưng sắp xếp bong bóng là hình thức đơn giản nhất của kỹ thuật thuật toán sắp xếp liên quan đến việc hoán đổi hai phần tử liền kề để đặt chúng vào đúng vị trí, trong khi sắp xếp nhanh hoạt động trên tách và kỹ thuật thuật toán giành chiến thắng trong đó một phần tử quan trọng trở thành tiêu điểm của sự phân chia xung quanh mảng đã cho.
Để hiểu hai khái niệm này sâu hơn một chút, chúng ta hãy chia sự khác biệt thành phân đoạn chính xác để làm cho nó rõ ràng hơn.
1. Cách tiếp cận: Để có một ý tưởng rõ ràng, trước tiên hãy phân biệt dựa trên phương pháp tiếp cận thuật toán của họ.
Sắp xếp bong bóng: Giả sử có 5 yếu tố 9, 5, 3, 6, 1 và chúng ta cần sắp xếp chúng theo thứ tự tăng dần.
- 9 5 3 6 1 // phần tử đầu tiên kiểm tra phần tử lân cận và hoán đổi nếu lớn hơn (ở đây, 9> 5)
- 5 9 3 6 1 // (9> 3)
- 5 3 9 6 1 // (9> 6)
- 5 3 6 9 1 // (9> 1)
- 5 3 6 1 9 // 9 đã đến đích cuối cùng
Bây giờ, lần lặp lại tiếp theo bắt đầu:
- 5 3 6 1 9 // (5> 3)
- 3 5 6 1 9 // (5 <6) - Không tráo đổi
- 3 5 6 1 9 // (6> 1)
- 3 5 1 6 9 // (6 <9) - Không tráo đổi
- 3 5 1 6 9 // 6 đã đến đích cuối cùng
--- Một số lần lặp lại ---
Kết quả cuối cùng sẽ là
1 3 5 6 9 // tất cả các yếu tố cuối cùng được sắp xếp
Sắp xếp nhanh: Giả sử, chúng ta có một mảng lớn hơn gồm 7 số
1 3 8 9 4 5 7
Chúng tôi xác định số pivotal là 7, chữ số cuối cùng của mảng.
Bây giờ 7 sẽ được kiểm tra mỗi lần
1 8 3 9 4 5 7 // Không hoán đổi vì đó là giá trị đầu tiên
1 8 3 9 4 5 7 // Không hoán đổi kể từ 8> 7
1 3 8 9 4 5 7 // Hoán đổi giữa 3 và 8 kể từ 3 <7
1 3 8 9 4 5 7 // Không hoán đổi kể từ 9> 7
1 3 4 9 8 5 7 // Hoán đổi giữa 4 và 8 kể từ 4 <7
1 3 4 5 8 9 7 // Hoán đổi giữa 5 và 9 kể từ 5 <7
1 3 4 5 7 9 8 // Hoán đổi từ 7 đến 8 kể từ 9> 7
Bây giờ vì 7 đã có giá trị phù hợp bằng cách phân vùng, chúng tôi có thể thực hiện bước tiếp theo
1.
1, 3, 4, 5 // 5 trở thành điểm Pivot và kiểm tra mọi phần tử
9, 8 // 8 trở thành điểm then chốt và kiểm tra các phần tử còn lại
8, 9 // Hoán đổi giữa 8 và 9 kể từ 8 <9.
Kết hợp cả hai chúng tôi có được kết quả cuối cùng của chúng tôi
1, 3, 4, 5, 7, 8, 9