Tôi đang cố gắng hiểu một vài thuật toán sắp xếp, nhưng tôi đang đấu tranh để thấy sự khác biệt trong thuật toán sắp xếp bong bóng và sắp xếp chèn.
Tôi biết cả hai đều là O (n 2 ), nhưng có vẻ như với tôi rằng sắp xếp bong bóng chỉ làm bong bóng giá trị lớn nhất của mảng lên đầu cho mỗi lần vượt qua, trong khi sắp xếp chèn chỉ nhấn chìm giá trị thấp nhất xuống dưới cùng mỗi lần vượt qua. Không phải họ làm cùng một điều nhưng theo các hướng khác nhau?
Đối với sắp xếp chèn, số lượng so sánh / hoán đổi tiềm năng bắt đầu từ 0 và tăng lên mỗi lần (tức là 0, 1, 2, 3, 4, ..., n) nhưng đối với sắp xếp bong bóng, hành vi tương tự cũng xảy ra, nhưng ở cuối việc sắp xếp (tức là n, n-1, n-2, ... 0) bởi vì sắp xếp bong bóng không còn cần phải so sánh với các phần tử cuối cùng khi chúng được sắp xếp.
Tuy nhiên, đối với tất cả những điều này, có vẻ như một sự đồng thuận rằng nói chung loại chèn tốt hơn. bất cứ ai đó có thể trả lời tôi tại sao?
Chỉnh sửa: Tôi chủ yếu quan tâm đến sự khác biệt trong cách hoạt động của các thuật toán, chứ không phải quá nhiều về hiệu quả hay độ phức tạp tiệm cận của chúng.