Hoàng Xuân Tiến
Giới thiệu về bản thân
Chào mừng bạn đến với trang cá nhân của Hoàng Xuân Tiến
0
0
0
0
0
0
0
2025-05-08 14:21:46
Rồi, mình sẽ mô phỏng đúng và chi tiết từng bước thuật toán Bubble Sort giảm dần trên dãy:
[2, -3, 9, 2, 8, 6, 10, -3]
Giải thích nhanh:
- Mỗi vòng lặp ngoài sẽ đẩy phần tử nhỏ nhất dần về cuối dãy.
- So sánh 2 phần tử kề nhau: nếu bên trái < bên phải, thì hoán đổi.
Bắt đầu:
Mảng ban đầu:
[2, -3, 9, 2, 8, 6, 10, -3]
Lần 1 (i = 0):
- So sánh 2 và -3 → không đổi
- So sánh -3 và 9 → đổi →
[2, 9, -3, 2, 8, 6, 10, -3] - So sánh -3 và 2 → đổi →
[2, 9, 2, -3, 8, 6, 10, -3] - So sánh -3 và 8 → đổi →
[2, 9, 2, 8, -3, 6, 10, -3] - So sánh -3 và 6 → đổi →
[2, 9, 2, 8, 6, -3, 10, -3] - So sánh -3 và 10 → đổi →
[2, 9, 2, 8, 6, 10, -3, -3] - So sánh -3 và -3 → không đổi
→ Kết thúc vòng 1: [2, 9, 2, 8, 6, 10, -3, -3]
Lần 2 (i = 1):
- So sánh 2 và 9 → đổi →
[9, 2, 2, 8, 6, 10, -3, -3] - So sánh 2 và 2 → không đổi
- So sánh 2 và 8 → đổi →
[9, 2, 8, 2, 6, 10, -3, -3] - So sánh 2 và 6 → đổi →
[9, 2, 8, 6, 2, 10, -3, -3] - So sánh 2 và 10 → đổi →
[9, 2, 8, 6, 10, 2, -3, -3] - So sánh 2 và -3 → không đổi
→ Kết thúc vòng 2: [9, 2, 8, 6, 10, 2, -3, -3]
Lần 3 (i = 2):
- So sánh 9 và 2 → không đổi
- So sánh 2 và 8 → đổi →
[9, 8, 2, 6, 10, 2, -3, -3] - So sánh 2 và 6 → đổi →
[9, 8, 6, 2, 10, 2, -3, -3] - So sánh 2 và 10 → đổi →
[9, 8, 6, 10, 2, 2, -3, -3] - So sánh 2 và 2 → không đổi
→ Kết thúc vòng 3: [9, 8, 6, 10, 2, 2, -3, -3]
Lần 4 (i = 3):
- So sánh 9 và 8 → không đổi
- So sánh 8 và 6 → không đổi
- So sánh 6 và 10 → đổi →
[9, 8, 10, 6, 2, 2, -3, -3] - So sánh 6 và 2 → không đổi
→ Kết thúc vòng 4: [9, 8, 10, 6, 2, 2, -3, -3]
Lần 5 (i = 4):
- So sánh 9 và 8 → không đổi
- So sánh 8 và 10 → đổi →
[9, 10, 8, 6, 2, 2, -3, -3] - So sánh 8 và 6 → không đổi
→ Kết thúc vòng 5: [9, 10, 8, 6, 2, 2, -3, -3]
Lần 6 (i = 5):
- So sánh 9 và 10 → đổi →
[10, 9, 8, 6, 2, 2, -3, -3] - Các bước sau không đổi
→ Kết thúc vòng 6: [10, 9, 8, 6, 2, 2, -3, -3]
Lần 7 (i = 6):
- Không còn hoán đổi → dừng
Kết quả cuối cùng:
[10, 9, 8, 6, 2, 2, -3, -3] (giảm dần)
Nếu muốn mình mô phỏng bằng Python hoặc làm thành bảng từng bước, cũng được luôn!