[分享] 有的没的(诶)

楼主: 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