在大多數情況下,使用列表/字典推導式在對代碼進行計時時可以顯著提高性能,但是它會影響算法的漸近復雜度嗎?據我了解,差異是由于與顯式循環(huán)相比推導式的評估方式造成的,但這種差異應該是一個常數因子,在這種情況下,漸近復雜性不會改變,然后隨著問題規(guī)模的增加,存在最終應該會達到兩個版本以相同速度執(zhí)行的程度。我的想法正確嗎?與此同時,當我嘗試測試它時,推導式的表現一直優(yōu)于顯式循環(huán),直到我達到內存不足的大小。
1 回答

翻過高山走不出你
TA貢獻1875條經驗 獲得超3個贊
很好的問題,但這不是漸近復雜性的工作原理。這并不是說它們會收斂到相同的時間,而是它們都會以相同的方式增長。例如,采用 2*n 和 n 的算法具有相同的漸近復雜度,但前者總是需要兩倍的時間。我看不出為什么推導式不會具有相同的復雜性,但您可以通過計時測試來憑經驗進行測試。
添加回答
舉報
0/150
提交
取消