[分享] 有的沒的(誒)

作者: Killercat (殺人貓™)   2014-12-03 13:48:40
真的是有的沒的。
前陣子版上剛好不約而同有一個關於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));
}
```
我整個下午都在一直在想,我應該要尻他腦袋尻多少下才能讓他醒過來,然後
下班時間就到了。
作者: x000032001 (版廢了該走了)   2014-12-03 13:55:00
教他gcc -pg吧..
作者: walelile (wakaka)   2014-12-03 16:48:00
先尻在說 邊尻邊想
作者: deo2000 (800IM)   2014-12-03 18:14:00
process 還不是一樣要做m*n次
作者: dirkc (3781615)   2014-12-03 18:16:00
從O(mn)到O(mn)外加小蟲
作者: Killercat (殺人貓™)   2014-12-03 18:28:00
這就是神奇思維,一個for是O(n) 兩個for是O(n^2)不過這是我碰到最好笑的一次就是....
作者: yyan1218 (今天下雨了嗎)   2014-12-12 03:26:00
XD

Links booklink

Contact Us: admin [ a t ] ucptt.com