Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu bổ ích!, Chúng tôi sẽ từng bước hoàn thiện để bạn đọc cảm thấy hài lòng, hữu ích!

Thứ Tư, 25 tháng 2, 2026

II. MẢNG (LIST) - "DÃY NGĂN KÉO CHỨA ĐỒ"

Phần 2: Quản lý và xử lý dữ liệu tập trung - Đội tuyển HSG Phan Chu Trinh

Mảng là cấu trúc dữ liệu quan trọng nhất giúp chúng ta lưu trữ hàng triệu giá trị chỉ với một tên biến duy nhất.

Ví dụ 2: Quản lý điểm số
Đề bài: Cho danh sách điểm của n học sinh. Tìm điểm cao nhất và đếm xem có bao nhiêu bạn đạt số điểm đó.

1. Mã nguồn Python tối ưu

# Cách 1: Sử dụng các hàm xây dựng sẵn (Built-in)
def thong_ke_diem(ds_diem):
    diem_max = max(ds_diem)
    so_luong = ds_diem.count(diem_max)
    return diem_max, so_luong

# Cách 2: Duyệt một vòng lặp (Tối ưu nhất cho dữ liệu lớn)
def tim_max_va_dem(ds_diem):
    m = -1
    c = 0
    for x in ds_diem:
        if x > m:
            m = x; c = 1
        elif x == m:
            c += 1
    return m, c
Phân tích thuật toán:
  • Kiến thức: Truy xuất A[i], hàm max(), count().
  • Tư duy: Gom nhóm dữ liệu. Thay vì xử lý rời rạc, ta xử lý trên một tập hợp thống nhất.
  • Độ phức tạp: $O(n)$. Với 1 triệu học sinh ($n=10^6$), Python chỉ mất khoảng 0.1s.

📊 MÔ PHỎNG QUẢN LÝ ĐIỂM HỌC SINH

Nhập số lượng học sinh bạn muốn giả lập (N):

Điểm cao nhất
--
Số bạn đạt được
--
Thời gian xử lý
--

3. Bài học về kỹ năng

Khi làm việc với mảng trong thi HSG Tin học, hãy luôn ưu tiên các hàm có sẵn của Python như sum(), max(), min(), sort() vì chúng được viết bằng ngôn ngữ C, giúp chương trình chạy nhanh hơn nhiều so với việc tự viết vòng lặp thủ công.

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến

💬 Bình luận

💬 Bình luận

📌 Danh sách bình luận