Sắp xếp bong bóng lên trên cùng: Hướng dẫn sắp xếp bong bóng trong JavaScript cho người mới bắt đầu

Tram Ho

Là một lập trình viên mới bắt đầu, bạn có thể đã nghe nói đến thuật ngữ “thuật toán sắp xếp” nhưng không biết chúng là gì hoặc chúng hoạt động như thế nào. Chà, đừng sợ! Trong bài viết này, chúng ta sẽ đi sâu vào một trong những thuật toán sắp xếp cơ bản nhất hiện có: sắp xếp bong bóng.

Nhưng trước khi chúng ta tìm hiểu chi tiết về cách thức hoạt động của sắp xếp bong bóng, trước tiên chúng ta hãy xác định nó là gì. Nói một cách đơn giản, sắp xếp bong bóng là một thuật toán so sánh các phần tử liền kề trong một mảng và hoán đổi vị trí của chúng nếu chúng không theo đúng thứ tự. Nó tiếp tục làm điều này cho đến khi mảng được sắp xếp đầy đủ.

Bây giờ chúng ta đã có hiểu biết cơ bản về sắp xếp bong bóng, hãy xem cách nó hoạt động với một ví dụ. Giả sử chúng ta có một dãy số mà chúng ta muốn sắp xếp từ nhỏ nhất đến lớn nhất: [5, 2, 1, 4, 3] .

Sử dụng sắp xếp bong bóng, trước tiên chúng ta sẽ so sánh hai phần tử đầu tiên, 5 và 2. Vì 5 lớn hơn 2, chúng ta sẽ hoán đổi vị trí của chúng. Mảng bây giờ sẽ trông như thế này: [2, 5, 1, 4, 3] .

Tiếp theo, chúng ta sẽ so sánh phần tử thứ hai và phần tử thứ ba, 5 và 1. Vì 5 lớn hơn 1 nên chúng ta sẽ hoán đổi vị trí của chúng. Mảng bây giờ sẽ trông như thế này: [2, 1, 5, 4, 3] .

Chúng tôi sẽ tiếp tục quá trình này cho đến khi chúng tôi đến cuối mảng. Bước cuối cùng sẽ là so sánh phần tử thứ tư và phần tử thứ năm, 4 và 3. Vì 4 lớn hơn 3 nên chúng ta sẽ hoán đổi vị trí của chúng. Mảng cuối cùng được sắp xếp sẽ trông như thế này: [1, 2, 3, 4, 5] .

Vì vậy, bây giờ bạn đã hiểu rõ hơn về cách hoạt động của sắp xếp bong bóng, chúng ta hãy xem một số trường hợp sử dụng trong thế giới thực cho thuật toán này trong JavaScript bằng cách tiếp cận hướng chức năng.

Ví dụ

Sắp xếp danh sách tên theo thứ tự bảng chữ cái

Sắp xếp danh sách các số từ nhỏ nhất đến lớn nhất

Sắp xếp danh sách sản phẩm theo giá

Sắp xếp danh sách nhân viên theo chức danh công việc

Sắp xếp danh sách các thành phố theo dân số của họ

Hiệu suất và Hạn chế của Sắp xếp Bong bóng

Bây giờ chúng ta đã thấy một số ví dụ thực tế về việc sử dụng sắp xếp bong bóng trong JavaScript, hãy nói về hiệu suất và những hạn chế của thuật toán này.

Một trong những hạn chế chính của sắp xếp bong bóng là độ phức tạp về thời gian của nó. Cụ thể, sắp xếp bong bóng có độ phức tạp về thời gian là O(n^2) , nghĩa là nó ngày càng trở nên chậm hơn khi kích thước của đầu vào tăng lên. Điều này làm cho nó trở thành một tùy chọn kém hiệu quả hơn để sắp xếp các danh sách lớn.

Tuy nhiên, sắp xếp bong bóng có một số lợi ích. Nó là một thuật toán đơn giản và dễ hiểu, làm cho nó trở thành một lựa chọn tốt cho người mới bắt đầu. Nó cũng là một sắp xếp ổn định, nghĩa là nó bảo toàn thứ tự tương đối của các phần tử có khóa bằng nhau.

Phần kết luận

Tóm lại, sắp xếp bong bóng là một thuật toán đơn giản và dễ hiểu có thể hữu ích để sắp xếp các danh sách nhỏ. Mặc dù nó không phải là thuật toán hiệu quả nhất cho các danh sách lớn hơn, nhưng nó vẫn có thể là một công cụ hữu ích trong một số trường hợp nhất định. Hãy nhớ lưu ý đến độ phức tạp về thời gian của nó khi quyết định có sử dụng sắp xếp bong bóng cho nhu cầu sắp xếp của bạn hay không.

Như mọi khi, tôi hy vọng bạn thích bài viết này và học được điều gì đó mới. Xin cảm ơn và hẹn gặp lại các bạn trong những bài viết tiếp theo!

Nếu các bạn thích bài viết này thì hãy cho mình 1 like và subscribe để ủng hộ mình nhé. Cảm ơn bạn.

Giới thiệu

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo