HOÀNG XUÂN LÃM
Giới thiệu về bản thân
Các bước mô phỏng: Lượt 1: (Đưa số nhỏ nhất về cuối dãy)
- So sánh 2 và -3: 2 > −3 (Đúng, giữ nguyên). Dãy: 2, -3, 9, 2, 8, 6, 10, -3
- So sánh -3 và 9: −3 <9 (Đổi chỗ). Dãy: 2, 9, -3, 2, 8, 6, 10, -3
- So sánh -3 và 2: −3 <2 (Đổi chỗ). Dãy: 2, 9, 2, -3, 8, 6, 10, -3
- So sánh -3 và 8: −3 <8 (Đổi chỗ). Dãy: 2, 9, 2, 8, -3, 6, 10, -3
- So sánh -3 và 6: −3 <6 (Đổi chỗ). Dãy: 2, 9, 2, 8, 6, -3, 10, -3
- So sánh -3 và 10: −3 <10 (Đổi chỗ). Dãy: 2, 9, 2, 8, 6, 10, -3, -3
- So sánh -3 và -3: (Bằng nhau, giữ nguyên).
Kết thúc lượt 1: Số -3 nhỏ nhất đã nằm ở cuối.
Dãy hiện tại: 2, 9, 2, 8, 6, 10, -3, -3
Lượt 2:
- (2, 9) →→ Đổi: 9, 2, 2, 8, 6, 10, -3, -3
- (2, 2) →→ Không đổi.
- (2, 8) →→ Đổi: 9, 2, 8, 2, 6, 10, -3, -3
- (2, 6) →→ Đổi: 9, 2, 8, 6, 2, 10, -3, -3
- (2, 10) →→ Đổi: 9, 2, 8, 6, 10, 2, -3, -3
Dãy hiện tại: 9, 2, 8, 6, 10, 2, -3, -3
Lượt 3:
- (9, 2) →→ Không đổi.
- (2, 8) →→ Đổi: 9, 8, 2, 6, 10, 2, -3, -3
- (2, 6) →→ Đổi: 9, 8, 6, 2, 10, 2, -3, -3
- (2, 10) →→ Đổi: 9, 8, 6, 10, 2, 2, -3, -3
Dãy hiện tại: 9, 8, 6, 10, 2, 2, -3, -3
Lượt 4:
- (9, 8), (8, 6) →→ Không đổi.
- (6, 10) →→ Đổi: 9, 8, 10, 6, 2, 2, -3, -3
Dãy hiện tại: 9, 8, 10, 6, 2, 2, -3, -3
Lượt 5:
- (9, 8) →→ Không đổi.
- (8, 10) →→ Đổi: 9, 10, 8, 6, 2, 2, -3, -3
Dãy hiện tại: 9, 10, 8, 6, 2, 2, -3, -3
Lượt 6:
- (9, 10) →→ Đổi: 10, 9, 8, 6, 2, 2, -3, -3
Dãy hiện tại: 10, 9, 8, 6, 2, 2, -3, -3
Lượt 7:
- Kiểm tra toàn bộ dãy, không còn cặp nào cần đổi chỗ.
Kết quả cuối cùng: Dãy số sau khi sắp xếp giảm dần là:
10, 9, 8, 6, 2, 2, -3, -3
Mô phỏng Bubble Sort (giảm dần) trên dãy: [2, -3, 9, 2, 8, 6, 10, -3]
Quy tắc: duyệt từ đầu đến cuối, nếu a < a[i+1] thì đổi chỗ (đưa số lớn hơn “nổi” lên trước). Lặp cho tới khi không còn đổi chỗ.
Kết quả sau từng vòng (pass):
- Ban đầu: [2, -3, 9, 2, 8, 6, 10, -3]
- Sau pass 1: [2, 9, 2, 8, 6, 10, -3, -3]
- Sau pass 2: [9, 2, 8, 6, 10, 2, -3, -3]
- Sau pass 3: [9, 8, 6, 10, 2, 2, -3, -3]
- Sau pass 4: [9, 8, 10, 6, 2, 2, -3, -3]
- Sau pass 5: [9, 10, 8, 6, 2, 2, -3, -3]
- Sau pass 6: [10, 9, 8, 6, 2, 2, -3, -3]
- Pass 7: không đổi → dừng.
Kết quả cuối (giảm dần): *[10, 9, 8, 6, 2, 2, -3, -3]*
Thuật toán sắp xếp nổi bọt (Bubble Sort) theo chiều giảm dần: Bộ số ban đầu: 2, -3, 9, 2, 8, 6, 10, -3 1. Lần 1: - So sánh 2 và -3 => đổi chỗ: -3, 2, 9, 2, 8, 6, 10, -3 - So sánh 2 và 9 => giữ nguyên: -3, 2, 9, 2, 8, 6, 10, -3 - So sánh 9 và 2 => đổi chỗ: -3, 2, 2, 9, 8, 6, 10, -3 - So sánh 9 và 8 => đổi chỗ: -3, 2, 2, 8, 9, 6, 10, -3 - So sánh 9 và 6 => đổi chỗ: -3, 2, 2, 8, 6, 9, 10, -3 - So sánh 10 và -3 => đổi chỗ: -3, 2, 2, 8, 6, 9, -3, 10 2. Lần 2: - So sánh -3 và 2 => giữ nguyên: -3, 2, 2, 8, 6, 9, -3, 10 - So sánh 2 và 2 => giữ nguyên: -3, 2, 2, 8, 6, 9, -3, 10 - So sánh 2 và 8 => giữ nguyên: -3, 2, 2, 8, 6, 9, -3, 10 - So sánh 8 và 6 => đổi chỗ: -3, 2, 2, 6, 8, 9, -3, 10 - So sánh 8 và 9 => giữ nguyên: -3, 2, 2, 6, 8, 9, -3, 10 - So sánh 9 và -3 => đổi chỗ: -3, 2, 2, 6, 8, -3, 9, 10 3. Lần 3: - So sánh -3 và 2 => giữ nguyên: -3, 2, 2, 6, 8, -3, 9, 10 - So sánh 2 và 2 => giữ nguyên: -3, 2, 2, 6, 8, -3, 9, 10 - So sánh 2 và 6 => giữ nguyên: -3, 2, 2, 6, 8, -3, 9, 10 - So sánh 6 và 8 => giữ nguyên: -3, 2, 2, 6, 8, -3, 9, 10 - So sánh 8 và -3 => đổi chỗ: -3, 2, 2, 6, -3, 8, 9, 10 4. Lần 4: - So sánh -3 và 2 => giữ nguyên: -3, 2, 2, 6, -3, 8, 9, 10 - So sánh 2 và 2 => giữ nguyên: -3, 2, 2, 6, -3, 8, 9, 10 - So sánh 2 và 6 => giữ nguyên: -3, 2, 2, 6, -3, 8, 9, 10 - So sánh 6 và -3 => đổi chỗ: -3, 2, 2, -3, 6, 8, 9, 10 5. Lần 5: - So sánh -3 và 2 => giữ nguyên: -3, 2, 2, -3, 6, 8, 9, 10 - So sánh 2 và 2 => giữ nguyên: -3, 2, 2, -3, 6, 8, 9, 10 - So sánh 2 và -3 => đổi chỗ: -3, -3, 2, 2, 6, 8, 9, 10 Kết quả cuối cùng: 10, 9, 8, 6, 2, 2, -3, -3
Dãy ban đầu: 2, -3, 9, 2, 8, 6, 10, -3 Nguyên tắc: So sánh các cặp kề nhau, nếu sai thứ tự giảm dần thì đổi chỗ. *Lượt 1: (2, -3) → không đổi (-3, 9) → đổi → 2, 9, -3, 2, 8, 6, 10, -3 (-3, 2) → đổi → 2, 9, 2, -3, 8, 6, 10, -3 (-3, 8)→ đổi → 2, 9, 2, 8, -3, 6, 10, -3 (-3, 6) → đổi → 2, 9, 2, 8, 6, -3, 10, -3 (-3, 10) → đổi → 2, 9, 2, 8, 6, 10, -3, -3 - Cuối lượt 1: 2, 9, 2, 8, 6, 10, -3, -3 *Lượt 2: (2, 9) → đổi → 9, 2, 2, 8, 6, 10, -3, -3 (2, 2) → không đổi (2;8) → đổi → 9, 2, 8, 2, 6, 10, -3, -3 (2, 6) → đổi → 9, 2, 8, 6, 2, 10, -3, -3 (2, 10) → đổi → 9, 2, 8, 6, 10, 2, -3, -3 - Cuối lượt 2: 9, 2, 8, 6, 10, 2, -3, -3 *Lượt 3: (9, 2) → không đổi (2;8) → đổi → 9, 8, 2, 6, 10, 2, -3, -3 (2, 6) → đổi → 9, 8, 6, 2, 10, 2, -3, -3 (2, 10) → đổi → 9, 8, 6, 10, 2, 2, -3, -3 - Cuối lượt 3: 9, 8, 6, 10, 2, 2, -3, -3 *Lượt 4: (9,8) → không đổi (8, 6) → không đổi (6, 10) → đổi → 9, 8, 10, 6, 2, 2, -3, -3 - Cuối lượt 4: 9, 8, 10, 6, 2, 2, -3, -3 *Lượt 5: (9,8) → không đổi (8, 10) → đổi → 9, 10, 8, 6, 2, 2, -3, -3 Cuối lượt 5: 9, 10, 8, 6, 2, 2, -3, -3 *Lượt 6: (9, 10) → đổi → 10, 9, 8, 6, 2, 2, -3, -3 - Cuối lượt 6: 10, 9, 8, 6, 2, 2, -3, -3 Kết luận: 10, 9, 8, 6, 2, 2, -3, -3