Đánh giá CTDL và GT

Một phần của tài liệu cấu trúc lưu trữ dữ liệu và giải thuật (Trang 25 - 29)

Cách tính đ ph c t pộ ứ ạ Qui t c c ng:ắ ộ

 N u T1(n) và T2(n) là th i gian th c hi n c a hai đo n chế ờ ự ệ ủ ạ ương trình P1 và P2; và T1(n)=O(f(n)), T2(n)=O(g(n) thì th i gian th c ờ ự

hi n c a đo n hai chệ ủ ạ ương trình đó n i ti p nhauố ế là T(n)=O(max(f(n),g(n)))

Ví d 1-6ụ : L nh gán x=15 t n m t h ng th i gian hay O(1)ệ ố ộ ằ ờ

 L nh đ c d li u scanf(“%d”, x) t n m t h ng th i gian hay ệ ọ ữ ệ ố ộ ằ ờ

O(1)

 V y th i gian th c hi n c hai l nh trên n i ti p nhau là ậ ờ ự ệ ả ệ ố ế

Đánh giá CTDL và GT

Cách tính đ ph c t pộ ứ ạ Qui t c nhân:ắ

 N u T1(n) và T2(n) là th i gian th c hi n c a hai đo n chế ờ ự ệ ủ ạ ương trình P1và P2 và

T1(n) = O(f(n)), T2(n) = O(g(n) thì th i gian th c hi n c a đo n ờ ự ệ ủ ạ

Đánh giá CTDL và GT

Qui t c t ng quát đ phân tích m t chắ ổ ương trình:

 Th i gian th c hi n c a m i l nh gán, Scanf, Printf là O(1)ờ ự ệ ủ ỗ ệ

 Th i gian th c hi n c a m t chu i tu n t các l nh đờ ự ệ ủ ộ ỗ ầ ự ệ ược xác đ nh b ng qui t c c ng. Nh v y th i gian này là th i gian thi ị ằ ắ ộ ư ậ ờ ờ

hành m t l nh nào đó lâu nh t trong chu i l nh.ộ ệ ấ ỗ ệ

 Th i gian th c hi n c u trúc IF là th i gian l n nh t th c hi n ờ ự ệ ấ ờ ớ ấ ự ệ

l nh sau IF ho c sau ELSE và th i gian ki m tra đi u ki n. ệ ặ ờ ể ề ệ

Thường th i gian ki m tra đi u ki n là O(1).ờ ể ề ệ

 Th i gian th c hi n vòng l p là t ng (trên t t c các l n l p) ờ ự ệ ặ ổ ấ ả ầ ặ

th i gian th c hi n thân vòng l p. N u th i gian th c hi n thân ờ ự ệ ặ ế ờ ự ệ

vòng l p không đ i thì th i gian th c hi n vòng l p là tích c a ặ ổ ờ ự ệ ặ ủ

Đánh giá CTDL và GT

Qui t c t ng quát đ phân tích m t chắ ổ ương trình:

Ví d ụ : Tính th i gian th c hi n c a đo n chờ ự ệ ủ ạ ương trình

 void BubleSort(int a[], int N ) { int i, j, temp;

{1} for (i = 0 ; i<N-1 ; i++) {2} for (j =N-1; j >i ; j --)

{3} if(a[j]< a[j-1]) // n u sai v trí thì đ i chế ị ổ ỗ

{4} { temp = a[j]; {5} a[j] = a[j-1]; {6} a[j-1] = temp;

}

} C ba l nh đ i ch {4} {5} {6} t n O(1) th i gian, do đó l nh {3} t n O(1).Vòng l p {2} th c hi n (n-i) l n, m i l n O(1) do đó vòng l p {2} t n O((n-ả ặệ ổ ự ỗ ệ ầ ố ỗ ầ ờ ệặ ốố

i).1)=O(n-i).

Chương 1:

Chương 1: Ôn t p C/C++Ôn t p C/C++ậậ

Một phần của tài liệu cấu trúc lưu trữ dữ liệu và giải thuật (Trang 25 - 29)

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

(106 trang)