問題規模的理解


假設某算法在輸入規模為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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM