[英]Why is it assumpted that the time-complexity of multiplication by n is constant?
不管如何實現乘法(或除法)運算(即,它是軟件功能還是硬件指令),都無法在時間O(1)
求解。 對於大的n
值,處理器甚至無法通過一條指令進行計算。
在這樣的算法中,為什么這些操作是恆定的而不依賴於n
?
for (i = 1; i <= n; i++) {
j = n;
while (j > 1)
j = j / 3; //constant operation
}
時間復雜度不能衡量時間。 它是可以定義所需“基本操作”的一種度量。 通常,任何算術運算都被視為基本運算。 有時(例如,當考慮排序算法或哈希表操作的時間復雜性時),基本操作是比較。 有時,“基本運算”是對單個位的運算(在這種情況下, j=j/3
將具有時間復雜度O(log(j)))。
傾向於遵循的規則是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.