Sắp xếp hàm theo tốc độ tăng

Em vừa học CTDL&GT nhưng mà đang lơ mơ lắm. Mọi người chỉ giúp em với :smile:
Đề bài là: Sử dụng big-O để sắp xếp các hàm dưới đây theo tốc độ tăng:

4n, 2^10, 4nlogn + n, 2^n, n^2 + 2n, nlogn, 2^(logn)

2^10 < 4n < nlogn < 4nlogn + n < n^2 + 2n < 2^logn < 2^n

1 Like

Okie, thank. Nhưng mà cái hàm 2^logn có big-O là cái gì vậy bạn? :smile:

Thì là O(2^log n) mà bạn.

1 Like

Ối, mình quên mất. Cảm ơn nhiều nhé :wink:

2^logn lẹ hơn n^2 chứ, thậm chí lẹ hơn cả nlogn. 2^logn là tương đương với O(n) đó.

1 Like

Mình có xem lại, 2^logn, nó còn nhẹ hơn cả n bạn ạ :smile:
Với f(n) = n, thì khi n tăng 10 lần, f(n) cũng tăng lên 10 lần. Còn f(n) = 2^logn chỉ tăng lên có 2 lần thôi :expressionless:

log ở đây ta tin là log cơ số 2 chứ ko phải cơ số 10…

3 Likes

Có lẽ mình nhầm một chút, nên xếp lại thành:
2^10 < 2^logn < 4n < nlogn < 4nlogn + n < n^2 + 2n < 2^n

1 Like

Cảm ơn @tntxtnt @programmerit nhé :wink:

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