看板 Perl 關於我們 聯絡資訊
先說例子 我有一個array (1 2 3 4) 然後我要對它做運算 mean(1) + mean(2) + mean(3) + mean(4) = m1 mean: 代表對括號中的值取平均 mean(1 2) + mean(2 3) + mean(3 4) = m2 mean(1 2 3) + mean(2 3 4) = m3 mean(1 2 3 4) = m4 最後所求是 mean(m1 m2 m3 m4) 有點類似sliding window 方法我是已經寫完了 所用的就是for 跟 map的組合 小陣列ok 但是我的array有時會大到幾十萬... 所以會變的很慢很慢 請問有什麼方法可以改善嗎 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.72.12
LiloHuang:看有沒有辦法推導出一個通式吧~ 不然就用C重寫比較快 02/05 01:03
aleelyle:你要不要列一下時間複雜度和演算法? 02/05 14:27
reizarc:使用 PDL 系列的 module 看看 02/06 17:30
charleshu:應該用C寫XS Module,平均來說可以快10倍,假如你有很多 02/09 00:28
charleshu:Array的index存取的話會快更多. 可以參考effective perl 02/09 00:29