30/09/2018, 16:12

Hỏi về độ phức tạp của thuật toán

mọi người giúp em đánh giá độ phức tạp của thuật toán bài này dc k ak:
em học cấu trúc dữ liệu nhưng phần này khó hiểu quá
Tính độ phức tạp của thuật toán tạo ma trận đơn
vị A cấp n như sau:

for(i=0;i<n;i++)
    for(j=0;j<n;j++)
             A[i][j]=0;
for(i=0;i<n;i++)
    A[i][i]=1;

Tính độ phức tạp của thuật toán Ex =
1 + (x/1!) + (x2/2!) + (x3/3!) + …+ (xn/n!) như dưới đây

double SumDevideFactorial(int n)
{
    double S = 1;
    double p = 1;
    for(int i = 0; i < n; i++)
    {
        for(int j = 1;  j < i;
                j++)
        {
            p = p*x/ j;
            S += p;
        }
    }
    return S;
}
Quân viết 18:24 ngày 30/09/2018

Cả 2 đều là O(n^2), giải thích 1 cách đơn giản vì nó dùng 2 vòng for lồng nhau chạy đến n.
Bạn có thể xem thêm tại đây: Cách tính độ phức tạp thuật toán

Bài liên quan
0