Các vấn ựề liên quan ựến thuật toán

Một phần của tài liệu Giới thiệu về lập trình cấu trúc dữ liệu và giải thuật (Trang 56 - 60)

1. Một vấn ựề ựược giải quyết bởi nhiều thuật toán khác nhau

2. đối với một thuật toán:

Ờ độ phức tạp về không gian (dung lượng bộ nhớ sử dụng) Ờ độ phức tạp về thời gian chạy

3. độ phức tạp về thời gian chạy

Ờ Kĩ năng lập trình Ờ Chương trình dịch

Ờ Tốc ựộ thực hiện các phép toán trên máy tắnh Ờ Dữ liệu vào

độ phức tạp thuật toán

1. Thời gian chạy 1 thuật toán phụ thuộc vào cỡ (size) của dữ liệu vào

Ờ Tìm xem 1 ựối tượng có trong danh sách N phần tử hay không? Ờ Sắp xếp tăng dần dãy số gồm N số

Ờ Bài toán người bán hàng cần thăm N ựịa ựiểm

2. Trong các dữ liệu vào cùng một cỡ (N), thời gian chạy của thuật toán cũng 2. Trong các dữ liệu vào cùng một cỡ (N), thời gian chạy của thuật toán cũng

thay ựổi

Vắ dụ: Tìm xem 1 ựối tượng có trong danh sách N phần tử hay không? Ờ đối tượng nằm ở ựầu danh sach

Ờ đối tượng nằm ở giữa danh sach Ờ đối tượng nằm ở cuối danh sách

độ phức tạp thuật toán

1. Thời gian chạy trong trường hợp xấu nhất (worse-case running time) Thời gian chạy lớn nhất của thuật toán ựó trên tất cả các dữ liệu cùng cỡ

2. Thời gian chạy trung bình

Là trung bình cộng thời gian chạy trên tất cả các bộ dữ liệu cùng cỡ.

3. Thời gian chạy trong trường hợp tốt nhất (best-case running time)

độ phức tạp thuật toán

đánh giá thời gian chạy thuật toán:

Ờ T(n) = số lượng phép toán sơ cấp cần phải thực hiện (phép toán số học, phép toán logic, phép toán so sánh). Mỗi phép toán sơ cấp ựược thực hiện trong một khoảng thời gian cố ựịnh.

Ờ Quan tâm ựến tốc ựộ tăng của hàm T(n) .

Ờ Vắ dụ:

Một phần của tài liệu Giới thiệu về lập trình cấu trúc dữ liệu và giải thuật (Trang 56 - 60)

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

(200 trang)