Mô Phỏng Thuật Toán Sắp Xếp Tráo Đổi Chỉ số 1 .. n

8
Tốc độ: 600ms
Sẵn sàng
So sánh: 0
Tráo đổi: 0
Chưa xét
Vị trí i (a[i])
Vị trí j (a[j])
Tráo đổi (Lướt đan chéo)
Đã đúng vị trí
Giải thích bước hiện tại
Nhấn nút Chạy hoặc Bước kế tiếp để bắt đầu quá trình mô phỏng thuật toán.

Thuật Toán Tráo Đổi (Pascal) 1..n

for i := 1 to n-1 do Dòng 1
for j := i+1 to n do Dòng 2
if a[i] > a[j] then Dòng 3
DoiCho(a[i], a[j]); Dòng 4

Tiến Trình Thuật Toán

Tiến độ thực thi: 0 / 0 bước
Nhật ký các thao tác gần nhất:
Chưa có nhật ký nào

Chi Tiết Thuật Toán Sắp Xếp Bằng Tráo Đổi (Exchange Sort)

Nguyên lý hoạt động (Chỉ số từ 1 đến n)

Thuật toán duyệt lần lượt vị trí i từ 1 tới n-1. Với mỗi vị trí i, thuật toán so sánh phần tử a[i] với tất cả các phần tử a[j] đứng sau nó (với j chạy từ i+1 đến n).

  • Nếu gặp a[i] > a[j], tiến hành đổi chỗ ngay lập tức hai phần tử này.
  • Sau khi vòng lặp j kết thúc, phần tử nhỏ nhất trong đoạn từ i đến n chắc chắn đã nằm đúng vị trí tại a[i].
  • Quá trình lặp lại cho đến khi toàn bộ mảng được sắp xếp tăng dần.

Đánh giá Độ Phức Tạp

Số phép so sánh
O(n²)
N*(N-1)/2 phép so sánh
Độ phức tạp bộ nhớ
O(1)
Sắp xếp tại chỗ (In-place)

Lưu ý: Thuật toán tráo đổi trực tiếp này gần giống với Bubble Sort hoặc Selection Sort đơn giản, thích hợp cho việc giảng dạy nhập môn lập trình Pascal / C++.