Phức tạp tính toán: a Mở đầu:

Một phần của tài liệu giao trinh toan roi rac ppsx (Trang 27)

a. Mở đầu:

• Yêu cầu đối với một thuật toán: đúng đắn và hiệu quả.

• Hiệu quả của một thuật toán: thời gian giải bài toán theo thuật toán đang xét với giá trị đầu vào có kích thước xác định, và dung lượng bộ nhớ đòi hỏi để thực hiện thuật toán với giá trị đầu vào có kích thước xác định.

• Phân tích thời gian cần thiết để giải bài toán có kích thước đặc biệt nào đó có liên quan đến phức tạp thời gian của thuật toán.

• Phân tích bộ nhớ cần thiết của máy tính liên quan với độ phức tạp không gian của thuật toán. • Độ phức tạp không gian liên quan đến cấu truc dữ liệu nên không xét ở đây. Chúng ta chỉ tập

trung xem xét độ phức tạp thời gian.

• Độ phức tạp thời gian của một thuật toán có thể biểu diễn qua số các phép toán được dùng bởi thuật toán đó với giá trị đầu vào có kích thước xác định.

b. Ví dụ:

Ví dụ 1: Mô tả độ phức tạp thời gian của thuật toán tìm phần tử lớn nhất. - Phép toán: so sánh.

- Số phép so sánh: 2(n-1) +1

- O(n).

Ví dụ 2: Mô tả độ phức tạp thời gian của thuật toán tìm kiếm tuyến tính. - Phép toán: so sánh.

- Số phép so sánh: 2i +1

- Số phép so sánh nhiều nhất (khi x không nằm trong bảng): 2n+1. - O(n).

Ví dụ 3: Mô tả độ phức tạp thời gian của thuật toán tìm kiếm nhị phân. - Phép toán: so sánh.

- Số phần tử: n = 2k (k = log(n)) - Số phép so sánh: 2k +2

- Số phép so sánh nhiều nhất (khi n không phải là luỹ thừa của 2): 2k+1+2. - O(logn).

Một phần của tài liệu giao trinh toan roi rac ppsx (Trang 27)

Tải bản đầy đủ (DOC)

(121 trang)
w