[分享] 有的沒的(誒)

看板C_and_CPP作者 (殺人貓™)時間11年前 (2014/12/03 13:48), 11年前編輯推噓4(403)
留言7則, 6人參與, 最新討論串1/1
真的是有的沒的。 前陣子版上剛好不約而同有一個關於for最佳化的topic,又剛好前面有一個指標的 面試topic,突然讓我想到一件往事.... 補上文章編號 #1KV1lFA0 #1KVOvnwp http://blog.rayer.idv.tw/posts/245160-for-some-stupid-memories (blog裡面有一段可以讓你們拿來玩玩看的code 對了,這種「最佳化」行為其實是undefined behavior,只是絕大多數編譯器都 會有一樣的結果) 「誒某R,我把某段Code最佳化了,我把時間複雜度從O(n^2)降成O(n)」 「喔喔,這還真是滿大的突破,那段還滿吃緊的呢。你是怎麼做到的?」 「簡單啊,看我的code」 before : ``` for(int i = 0; i < m; ++i) for(int j = 0; j < n; ++i) { process(target[i][j]); } ``` after : ``` for(int i = 0; i < m * n; ++i) { process(*((target*)(&target) + i)); } ``` 我整個下午都在一直在想,我應該要尻他腦袋尻多少下才能讓他醒過來,然後 下班時間就到了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.124.251.135 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1417585723.A.0EA.html

12/03 13:55, , 1F
教他gcc -pg吧..
12/03 13:55, 1F
※ 編輯: Killercat (59.124.251.135), 12/03/2014 13:57:35

12/03 16:48, , 2F
先尻在說 邊尻邊想
12/03 16:48, 2F

12/03 18:14, , 3F
process 還不是一樣要做m*n次
12/03 18:14, 3F

12/03 18:16, , 4F
從O(mn)到O(mn)外加小蟲
12/03 18:16, 4F

12/03 18:28, , 5F
這就是神奇思維,一個for是O(n) 兩個for是O(n^2)
12/03 18:28, 5F

12/03 18:29, , 6F
不過這是我碰到最好笑的一次就是....
12/03 18:29, 6F

12/12 03:26, , 7F
XD
12/12 03:26, 7F
文章代碼(AID): #1KVgGx3g (C_and_CPP)