tailieunhanh - Bài giảng Phân tích thiết kế và đánh giá thuật toán: Phần 2 - Nguyễn Hữu Tuân

Bài giảng Phân tích thiết kế và đánh giá thuật toán có mục đích cung cấp các kiến thức cơ bản về thuật toán, kiến trúc dữ liệu, cung cấp các kiến thức về chiến lược xây dựng và đánh giá thuật toán, rèn luyện tư duy khoa học. Phần 2 của tài liệu gồm 4 chương cuối của bài giảng. | Bài giảng môn học Phân tích thiết kế và đánh giá giải thuật CHƯƠNG III ĐỆ QUI VÀ CHIẾN LƯỢC VÉT CẠN 1. Khái niệm đệ qui Đệ qui là một kỹ thuật được sử dụng trong các ngôn ngừ lập trình cao cấp như C C ngày nay hầu hết các ngôn ngừ lập trình đều hỗ trợ kỹ thuật này. về b ản chất đệ qU là c ách định nghĩa một đối tượng dựa trên chính nó hay cụ thể hon là trên các thể hiện cụ thể đon giản của nó. Ta có thể định nghĩa một bứ c tranh picture như thế này Một điểm ảnh pixel là một bứ c tranh N ếu p1 và p2 là hai b ứ c tranh thì việ c ghép p1 với p2 sẽ cho ta một b ứ c tranh mới. Trong toán học người ta hay sử dụng phưong pháp chứ ng minh qui nạp chính là một nguyên lý đệ qui. Trong lập trình ta định nghĩa một hàm đệ qui là một hàm mà trong thân hàm c ài đặt c ó lờ gọi tớ chính nó số lượng và vị trí không hạn chế . Ví dụ ta có thể định nghĩa hàm tính giai thừa factorial của một số nguyên như sau Gt 0 1. Gt n n Gt n-1 vớ mọi n 0. Giải thuật đệ qui là giải thuật dựa trên các quan hệ đệ qui và được cài đặt cụ thể b ằng các hàm đệ qui. 2. Chiến lược vét cạn Brute force Đây là chiến lược đon giản nhất nhưng cũng là không hiệu quả nhất. Chiến lược vét cạn đon giản thử tất cả c ác khả năng xem khả năng nào là nghiệm đúng của b ài to án cần giải quyết. Ví dụ thuật toán duyệt qua mảng để tìm phần tử có giá trị lớn nhất chính là áp dụng chiến lược vét c ạn. Ho ặc b ài to án kiểm tra và in ra tất cả c ác số nguyên tố c ó 4 chữ số ab c d sa a số số ượ ự ư sa for a 1 a 9 a for b 0 b 9 b for c 0 c 9 c for d 0 d 9 d if ktnguyento a 1000 b 100 c 10 d 10 a b 10 c d printf d d d d a b c d H m ye m a xem mộ số yê p ả l số yê ố ay ô . C p ụ lượ ộ l m ả m . về mặt lý thuyết chiến lược này có thể áp dụng cho mọi loại b ài toán nhưng có một hạn chế khiến nó không phải là chìa khóa vạn năng về mặt thự c tế d o cần phải thử tất cả c ác khả năng 34 Bài giảng môn học Phân tích thiết kế và đánh giá giải thuật nên số trường hợp cần phải thử của b ài to án thường lên tới c on số rất lớn và thường quá .

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.