1. Trang chủ
  2. » Giáo Dục - Đào Tạo

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

14 1,1K 14
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Độ phức tạp thuật toán
Tác giả Lê Sỹ Vinh
Trường học Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội
Chuyên ngành Khoa học Máy Tính
Thể loại Bài giảng
Định dạng
Số trang 14
Dung lượng 120,25 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

_ Trong các dữ liệu vào cùng một cỡ MN, 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 W phân tử hay không?. Do phuc tap thuat toan Thoi gian

Trang 1

Do phuc tap thuat toan

Lé SY Vinh

Bộ môn Khoa Học Máy Tính — Khoa CNTT

Dai Hoc Cong Nghé - DHQGHN

vinhioi@yahoo.com

Trang 2

Các vần đê liên quan đên thuật toản

I _ 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

“Thời gian chạy chương trình : 10s” ???

Trang 3

Do phuc tap thuat toan

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

— Tìm xem l1 đỗ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 X số

— Bài toán người bán hàng cần thăm X địa điểm

2 _ Trong các dữ liệu vào cùng một cỡ (MN), 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 W 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

Trang 4

Do phuc tap thuat toan

Thoi gian chay trong truong hop xau nhat (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ỡ

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ỡ

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

Thời gian chạy ít nhất của thuật toán đó trên tất cả các dữ liệu cùng cỡ

Trang 5

Do phuc tap thuat toan

Danh gia thoi gian chay thuat toan:

— T(n)=s6 luong phép toan so cap can 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 toan so cap

đượ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ụ:

T(n)= 2n“ + 3n + 10

Trang 6

Biéu dién thoi gian chay bởi kí hiệu O

Định nghĩa Giả sử f(n) và g(n) là các hàm thực không âm của đối số nguyên không

am n Ta noi “f(n) la 6 lon cua g(n)” va viét la

An) = OC g(a) )

nêu tôn tại các hăng sô dương cŠ và nụ sao cho f(n) <= c*g(n) voi mọi n >= nạ

\

nO

Trang 7

Biéu dién thoi gian chay bởi kí hiệu O

Vi du

Gia su f(n) = 5n + 2n“+ 13n + 6, ta có:

f{n) = 5n + 2nˆ+ 13n +6<= §n + 2n4+ 13n + ón3 = 2ónŸ f(n) = O(n?)

Tổng quát nêu f(n) là một đa thức bậc k của n:

f{n) = aynš+ a, ¡n*† + + ain + ao thì f(n) = O(n*)

Trang 8

Biéu dién thoi gian chay bởi kí hiệu O

Ký hiệu ô lớn | Tên gọi

O(logn) logarit

O(nlogn) nlogn

O(n) binh phuong

O(2") mu

Trang 9

Thời gian chạy của các lệnh

1 Lénh gan

X = <biéu thtre>

Thời gian chạy của lénh gan bang thời gian thực hiện biểu thức

2 Lệnh lựa chon

if (điều kiện) > Tạ(n)

lệnh 1 —> T,(n)

else

lệnh 2 —> T,(n)

Thời gian: Tạ(n) + max (T;(n), T›(n))

Trang 10

Thời gian chạy của các lệnh

3 _ Lệnh lặp: for, while, do-while

Vị dụ:

X (n)

> (Ty(n)+T,(n))

i=]

X(n): Số vòng lặp

Tạ(n): Điều kiện lặp

Tn): Thời gian thực hiện vòng lặp thứ 7

Trang 11

Thời gian chạy của các lệnh

4 Phân tích các hàm đệ quy

Trang 12

Vi du 2

Thuat toan tao ra ma tran don viA cap H

(1) for@=0;1<n; i++)

(2) for(=0;J<n;j†?)

(4) fora=0;1<n;1++)

(5) AILHH] = 1:

Độ phức tạp:

Trang 13

Vi du 3

1) sum =0;

2) for(i=0;i<n;i+ +)

3) for (j=i+1;i<=n;j++)

4) for (k= 1;k< 10; k + +)

5) { sum=sum+i*j*k };

Độ phức tạp:

Trang 14

Ví dụ 4

Phân tích độ phức tạp thuật toán của tật cả các phép toán trên kiêu danh dữ liệu danh sách được cài đặt băng mảng và danh sách liên kêt

Ngày đăng: 23/10/2013, 10:15

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w