Bài toán mảng con lớn nhất

Trong khoa học máy tính, bài toán tìm mảng con lớn nhất là bài toán tìm một mảng con liên tục của một mảng một chiều chứa cả số dương và số âm sao cho mảng con này có tổng các phần tử là lớn nhất. Ví dụ: mảng −2, 1, −3, 4, −1, 2, 1, −5, 4 có mảng con lớn nhất là 4, −1, 2, 1 với tổng là 6.

Thuật toán Kadane

[sửa | sửa mã nguồn]

Thuật toán Kadane quét qua các phần tử của mảng, tính tại từng vị trí tổng lớn nhất có thể của các mảng con kết thúc tại vị trí đó. Mảng con này có thể rỗng khi tổng của các phần tử bằng 0 hoặc có thể chứa nhiều hơn một phần tử so với mảng con lớn nhất tại vị trí trước đó.

Thuật toán của chương trình được viết bằng ngôn ngữ Python.

def max_subarray(A):
    max_ending_here = max_so_far = 0
    for x in A:
        max_ending_here = max(0, max_ending_here + x)
        max_so_far = max(max_so_far, max_ending_here)
    return max_so_far

Thuật toán này tính toán dựa trên cấu trúc con tối ưu (mảng con lớn nhất tại một vị trí được tính toán đơn giản từ các bài toán con nhỏ hơn là mảng con lớn nhất tại vị trí trước đó) nên thuật toán này thuộc dạng bài toán quy hoạch động.

Tổng quát hóa

[sửa | sửa mã nguồn]

Bài toán này có thể được tổng quát hóa lên các mảng nhiều chiều hơn. Tuy nhiên khi đó việc giải bài toán sẽ phức tạp hơn.

Tham khảo

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Giám sát viên Utahime Iori trường Kyoto Jujutsu Kaisen
Giám sát viên Utahime Iori trường Kyoto Jujutsu Kaisen
Utahime Iori (Iori Utahime?) là một nhân vật trong seri Jujutsu Kaisen, cô là một chú thuật sư sơ cấp 1 và là giám thị học sinh tại trường trung học Jujutsu Kyoto.
Review Ayato - Genshin Impact
Review Ayato - Genshin Impact
Về lối chơi, khả năng cấp thủy của Ayato theo mình đánh giá là khá yếu so với những nhân vật cấp thủy hiện tại về độ dày và liên tục của nguyên tố
Sơ lược về Dune - Hành Tinh Cát
Sơ lược về Dune - Hành Tinh Cát
Công tước Leto của Gia tộc Atreides – người cai trị hành tinh đại dương Caladan – đã được Hoàng đế Padishah Shaddam Corrino IV giao nhiệm vụ thay thế Gia tộc Harkonnen cai trị Arrakis.
Nhân vật Xích Luyện / 赤练 - Tần Thời Minh Nguyệt
Nhân vật Xích Luyện / 赤练 - Tần Thời Minh Nguyệt
Xích Luyện xuất thân là công chúa nước Hàn, phong hiệu: Hồng Liên. Là con của Hàn Vương, em gái của Hàn Phi