[問題] 有關利用建表來加快程式執行速度的問題

看板C_and_CPP (C/C++)作者 (小豆豆)時間14年前 (2011/08/08 20:14), 編輯推噓2(2012)
留言14則, 6人參與, 最新討論串1/1
小弟寫的語言是[C++] 一般來說建表示為了要避免重復計算某些數值而浪費時間 但是剛剛小弟利用一個結構把等等需要重算的數值先存起來 結果執行時間反而比較慢 是因為若重算的運算量較少的話 讀取記憶體的時間反而會多於重算的時間嗎?? 因為在運算量大的情況下時間差了不少 所以想請教一下各位 想請問在寫CODE的過程中是否有技巧或觀念可以達到較好的執行速度呢?? 當然演算法是最重要的, 但是還是希望在同樣演算法的情況下可以寫的比較好這樣. 有書在講解這些觀念的話也請各位推薦一下. 謝謝大家. -- 拿阿! 拿回去還是一輩子當x教授的魁儡 一輩子做實習 寫程式 要的話你就拿回去! 九世宅男:下輩子不要再讓我讀工科~~~~~~~~!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.216.83

08/08 20:22, , 1F
effective C++ / more effective C++ / effective STL ?
08/08 20:22, 1F

08/08 20:28, , 2F
DP?
08/08 20:28, 2F

08/08 20:30, , 3F
如果判斷重算寫的好的話是很快的...
08/08 20:30, 3F

08/08 20:37, , 4F
能夠直接index固然最好 不能就考慮用hash
08/08 20:37, 4F

08/08 20:42, , 5F
也可以用tree資料結構的方式 但是你要去平衡...
08/08 20:42, 5F

08/08 21:15, , 6F
有兩種作法,如果常用的區塊.那就保持不段更新表的內容
08/08 21:15, 6F

08/08 21:15, , 7F
如果是偶爾才用到,那就是用到時.在去更新表的內容
08/08 21:15, 7F

08/08 21:18, , 8F
下輩子不要再讓我讀工科<--題外話,真的是我的心聲
08/08 21:18, 8F

08/08 23:25, , 9F
其實還是跑profiler比較準...
08/08 23:25, 9F

08/09 00:52, , 10F
<map>
08/09 00:52, 10F

08/09 12:57, , 11F
DP的優點應該是針對擴充性及複用性 效率應該不會比較好
08/09 12:57, 11F

08/09 20:21, , 12F
DP好處是可以降低時間複雜度 最經典如0/1背包就是很好的
08/09 20:21, 12F

08/09 20:21, , 13F
例子
08/09 20:21, 13F

08/09 20:47, , 14F
推hashmap
08/09 20:47, 14F
文章代碼(AID): #1EFzCGQe (C_and_CPP)
文章代碼(AID): #1EFzCGQe (C_and_CPP)