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
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
xếp hạng Ngôi sao 1 ngôi sao 2 ngôi sao 1 Sao chiến thắng
0
(Thường được cập nhật sau 1 giờ!)

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!