Computer >> Máy Tính >  >> Lập trình >> Lập trình

Phương pháp đếm bước trong thuật toán

Phương pháp đếm bước là một trong những phương pháp để phân tích thuật toán. Trong phương pháp này, chúng tôi đếm số lần một lệnh được thực thi. Từ đó, chúng tôi sẽ cố gắng tìm ra độ phức tạp của thuật toán.

Giả sử chúng ta có một thuật toán để thực hiện tìm kiếm tuần tự. Giả sử mỗi lệnh sẽ lấy c1, c2,…. khoảng thời gian để thực thi, sau đó chúng tôi sẽ cố gắng tìm ra độ phức tạp về thời gian của thuật toán này

Thuật toán Số lần Chi phí
seqSearch (arr, n, key)
i:=0
trong khi tôi nếu arr [i] =key, thì
phá vỡ
kết thúc nếu
xong
trả lại tôi
1
n + 1
N
0/1



1
c1
c2
c3
c4



c5

Bây giờ, nếu chúng ta cộng chi phí bằng cách nhân với số lần nó được thực thi, (xem xét tình huống xấu nhất), chúng ta sẽ nhận được

Chi phí =c1 + (n + 1) c 2 + nc3 + c 4 + c 5

Chi phí =c1 + nc 2 + c2 + nc 3 + c 4 + c5

Chi phí =n (c 2 + c3) + c 1 + c 4 + c5

Chi phí =n (c 2 + c3) + C

Xét c1 + c4 + c5 là C nên phương trình cuối giống như đường thẳng y =mx + b. Vì vậy, chúng ta có thể nói rằng hàm là tuyến tính. Độ phức tạp sẽ là O (n).