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
Xilonen – Lối chơi, hướng build và đội hình
Xilonen – Lối chơi, hướng build và đội hình
Là một support với nhiều tiềm năng và liên tục được buff, Xilonen đã thu hút nhiều chú ý từ những ngày đầu beta
Guide Potions trong Postknight
Guide Potions trong Postknight
Potions là loại thuốc tăng sức mạnh có thể tái sử dụng để hồi một lượng điểm máu cụ thể và cấp thêm một buff, tùy thuộc vào loại thuốc được tiêu thụ
Cà phê rang đậm có chứa nhiều Caffeine hơn cà phê rang nhạt?
Cà phê rang đậm có chứa nhiều Caffeine hơn cà phê rang nhạt?
Nhiều người cho rằng cà phê rang đậm sẽ mạnh hơn và chứa nhiều Caffeine hơn so với cà phê rang nhạt.
Review phim “Hôn lễ của em”
Review phim “Hôn lễ của em”
Trai lụy tình cuối cùng lại trắng tay! Trà xanh mới là người lí trí nhất!