假設某算法在輸入規模為n時的計算時間為T=3*2n(2的n的次方).在某台計算機上實現並完成該算法在t秒.現有另一台計算機,其運行速度為第一台的64倍,那么在這台新機器上用同一算法在t秒內能解輸入輸入規模為多大的問題?
我一開始看見速度是64倍,就想成相同時間內可以計算64倍,后來看了嚴奶奶關於問題規模的描述
“一個特定算法‘運行工作量’的大小,只依賴問題的規模,或者說,他是問題規模的函數”
不應該只是單純的看計算問題的時間,而是從問題規模角度去分析
所以這一題
應該是A在t秒的時間內可以進行3*2n次運算
而B在t秒內的時間被可以進行3*2n*64=3*2n+6次運算,
可以看到其實在t的時間下,對於問題規模來說,A的規模為n=log2(t/3),B是A的64倍速度,可以處理的規模為n+6=log2(t/3)