Sắp xếp bong bóng vs Sắp xếp lựa chọn
Sắp xếp bong bóng là một thuật toán sắp xếp hoạt động bằng cách đi qua danh sách để được sắp xếp lặp đi lặp lại trong khi so sánh các cặp phần tử liền kề. Nếu một cặp phần tử sai thứ tự, chúng được hoán đổi để đặt chúng theo đúng thứ tự. Truyền tải này được lặp lại cho đến khi không cần phải hoán đổi thêm. Lựa chọn sắp xếp cũng là một thuật toán sắp xếp, bắt đầu bằng cách tìm phần tử tối thiểu trong danh sách và hoán đổi nó với phần tử đầu tiên. Quá trình này được lặp lại cho phần còn lại của danh sách bằng cách đặt các phần tử được hoán đổi theo thứ tự.
Sắp xếp bong bóng là gì?
Sắp xếp bong bóng là một thuật toán sắp xếp hoạt động bằng cách đi qua danh sách để được sắp xếp lặp đi lặp lại trong khi so sánh các cặp phần tử liền kề. Nếu một cặp phần tử sai thứ tự, chúng được hoán đổi để đặt chúng theo đúng thứ tự. Truyền tải này được lặp lại cho đến khi không yêu cầu hoán đổi thêm (có nghĩa là danh sách được sắp xếp). Vì các yếu tố nhỏ hơn trong danh sách lên đến đỉnh khi một bong bóng xuất hiện trên bề mặt, nó được đặt tên sắp xếp bong bóng. Sắp xếp bong bóng là một thuật toán sắp xếp rất đơn giản nhưng nó có độ phức tạp thời gian trường hợp trung bình là O (n2) khi sắp xếp danh sách với n phần tử. Do đó, sắp xếp bong bóng không phù hợp để sắp xếp danh sách với số lượng lớn các yếu tố. Nhưng do tính đơn giản của nó, sắp xếp bong bóng được dạy trong khi giới thiệu thuật toán.
Lựa chọn sắp xếp là gì?
Sắp xếp lựa chọn cũng là một thuật toán sắp xếp khác bắt đầu bằng cách tìm phần tử tối thiểu trong danh sách và hoán đổi nó với phần tử đầu tiên. Sau đó, phần tử tối thiểu được tìm thấy từ phần còn lại của danh sách (từ phần tử thứ hai cho đến phần tử cuối cùng trong danh sách) và hoán đổi với phần tử thứ hai. Quá trình này được lặp lại cho phần còn lại của danh sách bằng cách đặt các phần tử được hoán đổi theo thứ tự. Vì vậy, trong sắp xếp lựa chọn, tại bất kỳ bước nào của thuật toán, danh sách được chia thành hai phần trong đó một phần chứa các phần tử được sắp xếp và phần còn lại chứa các phần tử chưa được sắp xếp. Khi thuật toán tiến hành, danh sách được sắp xếp phát triển từ trái sang phải. Lựa chọn sắp xếp cũng có độ phức tạp thời gian trường hợp trung bình là O (n2). Do đó, nó cũng không phù hợp để sắp xếp danh sách lớn.
Sự khác biệt giữa Sắp xếp bong bóng và Sắp xếp lựa chọn?
Mặc dù cả hai thuật toán sắp xếp bong bóng và sắp xếp lựa chọn có độ phức tạp thời gian trường hợp trung bình là O (n2), sắp xếp bong bóng hầu như đều vượt trội so với sắp xếp lựa chọn. Điều này là do số lượng giao dịch hoán đổi cần thiết của hai thuật toán (loại bong bóng cần nhiều giao dịch hoán đổi hơn). Nhưng do sự đơn giản của sắp xếp bong bóng, kích thước mã của nó rất nhỏ. Sự ổn định là một sự khác biệt khác trong hai thuật toán này. Một thuật toán sắp xếp ổn định, là một thuật toán sắp xếp giữ lại thứ tự các bản ghi nếu danh sách chứa các phần tử có giá trị bằng nhau. Theo nghĩa đó, sắp xếp lựa chọn không phải là một thuật toán ổn định trong khi sắp xếp bong bóng là một thuật toán ổn định.