Các mô hình thuật toán là :
Cách tiếp cận chung để xây dựng các giải pháp hiệu quả cho các vấn đề
Bất kỳ cách tiếp cận cơ bản, thường được sử dụng trong thiết kế thuật toán đều có thể được coi là mô hình thuật toán :
Phân chia và chinh phục
Ý tưởng: Chia trường hợp vấn đề thành các trường hợp con nhỏ hơn của cùng một vấn đề, giải quyết các đệ quy này và sau đó đặt các giải pháp lại với nhau thành một giải pháp của trường hợp cụ thể.
Ví dụ: Sáp nhập, Quicksort, thuật toán của Strassen, FFT.
Thuật toán tham lam
Ý tưởng: Tìm giải pháp bằng cách luôn đưa ra lựa chọn có vẻ tối ưu vào lúc này - đừng nhìn về phía trước, đừng bao giờ quay lại.
Ví dụ: Thuật toán của Prim, thuật toán của Kruskal.
Lập trình năng động
Ý tưởng: Biến đệ quy lộn ngược.
Ví dụ: Thuật toán Floyd-Warshall cho tất cả các cặp bài toán đường đi ngắn nhất.
Mô hình từ này dịch sang ví dụ, nhưng đó không phải là cách nó được sử dụng trong bối cảnh khoa học . Các ví dụ của bạn là tất cả các ví dụ về thuật toán (ngoại trừ vấn đề nhân viên bán hàng lưu động, đây là một vấn đề khó về NP), không có vấn đề nào đủ tầm thường để được coi là một mô hình thuật toán.