Cách tính độ phức tạp của thuật toán khi gọi đến hàm có sẵn?

Em có tìm hiểu về cách tính về độ phức tạp của thuật toán và đã hiểu được cách tính cơ bản. Nhưng có một thắc mắc là khi dùng một hàm có sẵn của ngôn ngữ thì sẽ tính độ phức tạp thuật toán ra sao.
VD:

int main()
{
    double n = 10;
    double result = sqrt(n); 
    return 0;
}

Lệnh sqrt(n) này có độ phức tạp là bao nhiêu ạ? vì không thể xem được bên trong nó làm cái gì, thì sao có thể tính được.
Hay chỉ cần coi nó là O(1)

Em cảm ơn!

1 Like

O(1), nhưng nó sẽ chạy lâu hơn (50% - nếu là x86/x64) so với 1 phép chia.

Vì vậy so khoảng cách thì để nguyên không rút căn :smiley:

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?