Tải Cấu trúc dữ liệu và giải thuật (Data Structure and Algorithms): Giải thuật chia để trị (Divide and Conquer) - Giới thiệu về thuật toán chia để trị

2 29 0
Tải Cấu trúc dữ liệu và giải thuật (Data Structure and Algorithms): Giải thuật chia để trị (Divide and Conquer) - Giới thiệu về thuật toán chia để trị

Đang tải... (xem toàn văn)

Thông tin tài liệu

Tiếp tục chia cho đến khi các bài toán nhỏ này không thể chia thêm nữa, khi đó ta sẽ giải quyết các bài toán nhỏ nhất này và cuối cùng kết hợp giải pháp của tất cả các bài toán nhỏ để tì[r]

(1)

Giải thuật chia để trị (divide and conquer) Giải thuật chia để trị (Divide and Conquer) ?

Phương pháp chia để trị (Divide and Conquer) phương pháp quan trọng việc thiết kế giải thuật Ý tưởng phương pháp đơn giản dễ hiểu: Khi cần giải toán, ta tiến hành chia tốn thành tốn nhỏ Tiếp tục chia toán nhỏ khơng thể chia thêm nữa, ta giải toán nhỏ cuối kết hợp giải pháp tất toán nhỏ để tìm giải pháp tốn ban đầu

Nói chung, bạn hiểu giải thuật chia để trị (Divide and Conquer) qua tiến trình sau:

Tiến trình 1: Chia nhỏ (Divide/Break)

Trong bước này, chia toán ban đầu thành toán Mỗi toán nên phần tốn ban đầu Nói chung, bước sử dụng phương pháp đệ qui để chia nhỏ tốn khơng thể chia thêm Khi đó, tốn gọi "atomic – nguyên tử", chúng biểu diễn phần tốn ban đầu

Tiến trình 2: Giải tốn (Conquer/Solve) Trong bước này, tốn giải

Tiến trình 3: Kết hợp lời giải (Merge/Combine)

(2)

Hạn chế giải thuật chia để trị (Devide and Conquer) Giải thuật chia để trị tồn hai hạn chế, là:

Làm để chia tách toán cách hợp lý thành toán con, tốn giải thuật tốn khác phức tạp

Việc kết hợp lời giải toán thực Ví dụ giải thuật chia để trị

Dưới số giải thuật xây dựng dựa phương pháp chia để trị (Divide and Conquer):

 Giải thuật xếp trộn (Merge Sort)  Giải thuật xếp nhanh (Quick Sort)

 Giải thuật tìm kiếm nhị phân (Binary Search)  Nhân ma trận Strassen

Ngày đăng: 29/12/2020, 16:08

Tài liệu cùng người dùng

Tài liệu liên quan