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
Bạn đang tìm kiếm nguồn tài liệu ôn thi học sinh giỏi Tin học lớp…
Phần 2: Tải ngay 200 Bài lập trình Python có lời giải cơ bản đến…
Tổng Hợp Các Hàm Python "Cốt Lõi" Khi Thi HSG Tỉnh Và Vào 10 Chuyên…
Nếu bạn đang ôn thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang,…
Tổng Hợp 74 Đề Thi Học Sinh Giỏi Tin Học THCS Cấp Tỉnh Có Đáp…
Tổng hợp 75 Đề thi HSG Tin học THCS Python Cấp Tỉnh (Có Code Giải…
This website uses cookies.