cuốn sách gpt4 ai đã làm

thuật toán - Tổng các đơn hàng O(1)+O(2)+ .... +O(n)

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 02:54:47 27 4
mua khóa gpt4 Nike

tổng hợp O(1)+O(2)+ .... +O(n) Kết quả tính toán là gì?

Tôi đã thấy giải pháp của nó ở đâu đó:

O(n(n+1) / 2) = O(n^2)

Nhưng tôi không hài lòng với điều đó vì O(1) = O(2) = hằng số, vì vậy theo tôi nó phải đánh giá chỉ TRÊN) .Tôi cũng thấy điều này ở Cormen:

Σ(i=1 đến n) O(i)

Chỉ có một hàm ẩn danh trong biểu thức trên. Chức năng này giống như O(1) + O(2) + ... + O(n) Sự khác biệt là thực sự không có lời giải thích rõ ràng cho điều sau.

câu trả lời hay nhất

Câu hỏi này có vẻ rất đúng chủ đề vì có một thẻ tiệm cận_phức tạp ...

theo CLRS ,Trang. 49.

“Số hàm ẩn danh trong một biểu thức được hiểu bằng số lần xuất hiện của ký hiệu tiệm cận. Ví dụ: trong biểu thức

tổng(O(i), i=1..n)

Chỉ có một hàm ẩn danh (hàm của i). Vì vậy, biểu thức này khác với O(1) + O(2) + ... + O(n), thực ra không có cách hiểu rõ ràng"

Trên thực tế, các hằng số theo sau ký hiệu "O" trong công thức của bạn đều có thể khác nhau và sự tăng dần của chúng có thể làm thay đổi hành vi tiệm cận của toàn bộ tổng. Đừng viết cái này!


Để trả lời câu hỏi của bạn đầy đủ hơn, trong sum(O(i), i=1..n) bạn có thể sử dụng các sự kiện sau (xem GKP trang 450)

O(f(n)g(n)) = f(n) O(g(n))

Do đó, O(i) = i O(1), lần này hãy sử dụng cùng O(1) trong công thức của bạn. Vì vậy,

tổng(O(i), i=1..n) = sum(i, i=1, n) O(1)

=n(n+1)/2 O(1) = O(n^2)

Bằng cách này bạn có thể loại bỏ số tiền của mình một cách dễ dàng.

Về tổng thứ tự của thuật toán - O(1)+O(2)+ .... +O(n), chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/18757751/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress