Học Python - Bài 49 In ra các số nguyên tố trong mảng và tổng của chúng
Giới Thiệu
Cách 1: Sử Dụng Thuật Toán Sắp Xếp Nổi Bọt (Đơn Giản)
# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nổi bọt
def sap_xep_noi_bot(mang):
n = len(mang)
for i in range(n - 1):
for j in range(n - 1 - i):
if mang[j] > mang[j + 1]:
mang[j], mang[j + 1] = mang[j + 1], mang[j] # Hoán đổi vị trí
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm sắp xếp
sap_xep_noi_bot(mang)
print("Mảng sau khi sắp xếp tăng dần:", mang)
Giải Thích:
Cách 2: Sử Dụng Thuật Toán Sắp Xếp Nhanh (Tối Ưu Hóa)
# Hàm sắp xếp mảng theo thứ tự tăng dần bằng Sắp xếp nhanh
def sap_xep_nhanh(mang):
if len(mang) <= 1:
return mang
chot = mang[len(mang) // 2] # Chọn phần tử làm chốt
trai = [x for x in mang if x < chot]
giua = [x for x in mang if x == chot]
phai = [x for x in mang if x > chot]
return sap_xep_nhanh(trai) + giua + sap_xep_nhanh(phai)
# Nhập số lượng phần tử của mảng
n = int(input("Nhập số phần tử của mảng: "))
mang = [int(input(f"Nhập phần tử thứ {i+1}: ")) for i in range(n)]
# Gọi hàm sắp xếp
mang_sap_xep = sap_xep_nhanh(mang)
print("Mảng sau khi sắp xếp tăng dần:", mang_sap_xep)
Giải Thích:
So Sánh Hai Cách
| Phương pháp | Độ phức tạp | Hiệu suất |
| Sắp xếp nổi bọt | O(n²) | Chậm với mảng lớn |
| Sắp xếp nhanh | O(n log n) | Nhanh hơn, tối ưu hơn |
Ứng Dụng
Kết Luận
Cả hai thuật toán đều giúp sắp xếp mảng theo thứ tự tăng dần. Nếu bạn làm việc với dữ liệu nhỏ, Sắp xếp nổi bọt có thể đủ dùng. Nhưng nếu xử lý dữ liệu lớn, Sắp xếp nhanh là lựa chọn tối ưu. Hãy thử nghiệm và lựa chọn thuật toán phù hợp cho từng trường hợp cụ thể!
Khóa học Python online từ cơ bản đến nâng cao
Kính thưa quý phụ huynh và các bạn học sinh thân mến! Trong kỷ nguyên…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học THCS Bình Phước 2019-2020 Bằng…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Dương…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Phước…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…
Hướng Dẫn Giải Chi Tiết Đề Thi HSG Tin Học Lớp 9 Tỉnh Bình Định…