[英]Computational complexity of unknown probability
假設有一份工作並且有很多工人可用。 下面的代碼可能是一個糟糕的優化思路。 但這只是為了分析復雜性。
A is a set of N worker
while (A is not empty)
{
B=empty set
foreach a1 in A
{
foreach a2 in A
{
b= merge(a1, a2)
if (b works better than a1 **and** b works better than a2)
add b to B
}
}
A=B
}
問題是“b 比 a1 和 a2 效果更好”的概率是未知的。 那么,如何估計上述代碼的時間復雜度呢?
對於兩個內部循環,復雜性與“b 比 a1 和 a2 效果更好”的概率無關。
但是,代碼似乎有點損壞,因為我沒有發現while循環有出口。 不考慮while循環,時間復雜度為
O(a1*a2) = O(N^2)。
遞歸方程將是
T(N) = T(N-1) + C
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.