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
⚙️ Máy tính bị đơ, khởi động chậm – vấn đề ai cũng gặp Bạn…
Đề 2 thi học sinh giỏi lớp 9 môn Tin học – Tỉnh Bình Định…
1. Giới Thiệu: “Nỗi Đau Thầm Lặng” Mang Tên – Chi Phí In Ấn Văn…
⚙️ Máy tính bật không lên – nỗi lo không của riêng ai Bạn đang…
Mở bài – Nỗi ám ảnh của dân đồ họa: máy lag, render chậm, deadline…
Bạn đã bao giờ chờ cả 10 phút mà laptop vẫn chưa khởi động xong…
This website uses cookies.