精華區beta C_and_CPP 關於我們 聯絡資訊
各位好 我有一隻c++的程式有6重迴圈 時間複雜度應該是n的6次方 想請問,像這種狀況 有什麼方式可以改寫 讓他可以跑的快一點呢 謝謝各位大大解答 開發平台(Platform): (Ex: Win10, Linux, ...) 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.169.139 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1529312638.A.F25.html
LPH66: 先不要急著寫程式, 先好好想想你要做什麼, 是否有更好做法 06/18 17:31
sarafciel: 版上的工程師只學過C/C++沒學過通靈 你這樣問沒人答得 06/18 18:01
sarafciel: 了你XD 你的程式是要解決什麼問題 是怎麼解決的 06/18 18:02
sarafciel: 為什麼會用到六層迴圈 這些資訊可以再多給一點 06/18 18:04
jack1218: 你要寫什麼程式啦 06/18 18:06
Schottky: https://youtu.be/G3thTJ5bh1s?t=11s 06/18 18:07
taists: 問題是有六組,每組約100個數據,必須從其中各取一個出來 06/18 18:08
taists: 做運算,符合的紀錄下來是各組的哪一個,並換下一組,不合 06/18 18:08
taists: 格直接跳下一組,各種組合都要算到 06/18 18:08
cutekid: 大樂透?? 49取6? 06/18 18:08
cutekid: 100 的 6 次方,時間複雜度有點高喔 06/18 18:12
johnpage: 看不出來要六層 06/18 18:16
KanzakiHAria: 硬碟換SSD memory升級 CPU換i9 就可以跑快一點了 06/18 18:19
TitanEric: 3層就好了 剩下的用空間換時間 用array紀錄 06/18 18:19
TitanEric: 樓樓上正解 06/18 18:19
KanzakiHAria: 或是換成量子電腦 這樣exp時間會變成polynomial 06/18 18:20
Schottky: 量子電腦原價屋有賣嗎? 06/18 18:43
Schottky: 看什麼運算,100的6次方個加法乘法不到一天就跑完了吧 06/18 18:52
Schottky: 再者,你說要窮舉,真的有必要全部窮舉嗎? 06/18 19:10
Schottky: 是不是有一些叉路(樹枝)可以提早剪枝 06/18 19:10
Schottky: 你的問題是不是根本不在演算法而是在I/O? 06/18 19:11
Schottky: 你這樣隨便講個兩句,我只看得出你在鑽牛角尖 06/18 19:11
Schottky: 把整個問題本身敘述清楚附上你的程式碼我們再來談 06/18 19:11
MOONY135: SSD+1 06/18 19:13
Schottky: 如果詳情是不能講的,請找你的學長姊老師同事主管討論 06/18 19:13
Sex5F: 讓我想到資料庫有A又有B........EFGHI都要 06/18 19:20