青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-60  評(píng)論-98  文章-0  trackbacks-0

Rob Pike, 是AT&T Bell Lab前Member of Technical Staff ,現(xiàn)在google研究操作系統(tǒng),Unix先驅(qū),UTF-8的設(shè)計(jì)人,The Unix Programming Environment 和 The Practice of Programming 的作者之一。 在《 Notes on C Programming 》中從另一個(gè)稍微不同的角度表述了 Unix 的哲學(xué)(或者說(shuō)是程序局部?jī)?yōu)化6原則):

1. 你無(wú)法斷定程序會(huì)在什么地方耗費(fèi)運(yùn)行時(shí)間。瓶頸經(jīng)常出現(xiàn)在想不到的地方,所以別急于胡亂找個(gè)地方改代碼,除非你已經(jīng)證實(shí)那兒就是瓶頸所在。
2. 估量。在你沒(méi)對(duì)代碼進(jìn)行估量,特別是沒(méi)找到最耗時(shí)的那部分之前,別去優(yōu)化速度。
3. 花哨的算法在 n 很小時(shí)通常很慢,而 n 通常很小。花哨算法的常數(shù)復(fù)雜度很大。除非你確定 n 總是很大,否則不要用花哨算法(即使 n 很大,也優(yōu)先考慮原則 2 )。比如,解決常見(jiàn)問(wèn)題時(shí),最簡(jiǎn)單的樹(shù)——二叉樹(shù)(binary tree),總是比那些復(fù)雜的樹(shù)(AVL樹(shù),伸展樹(shù)(splay tree)和紅黑樹(shù)、B-樹(shù)(B-tree),多叉樹(shù)(trie))來(lái)的高校。
4. 花哨的算法比簡(jiǎn)單算法更容易出 bug 、更難實(shí)現(xiàn)。盡量使用簡(jiǎn)單的算法配合簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。
只要掌握了數(shù)據(jù)結(jié)構(gòu)中的四大法寶,就可以包打天下,他們是:array 、linked list 、hash table、binary tree 。這四大法寶可不是各自為戰(zhàn)的,靈活結(jié)合才能游刃有余。比如,一個(gè)用hash table組織的symbol table,其中是一個(gè)個(gè)由字符型array構(gòu)成的linked list。
5. 以數(shù)據(jù)為中心。如果已經(jīng)選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且把一切都組織得井井有條,正確的算法也就不言自明。編程的核心是數(shù)據(jù)結(jié)構(gòu),而不是算法。
6. 沒(méi)有原則 6 。

Ken Thompson —— Unix 最初版本的設(shè)計(jì)者和實(shí)現(xiàn)者,禪宗偈語(yǔ)般地對(duì) Pike 的原則4 作了強(qiáng)調(diào):
拿不準(zhǔn)就窮舉

附:E文原文(節(jié)選自《Notes on C Programming 》Rob Pike, February 21, 1989 )
E文全文地址:http://www.lysator.liu.se/c/pikestyle.html
      Most programs are too complicated - that is, more complex than they need to be to solve their problems efficiently.  Why? Mostly it's because of bad design, but I will skip that issue here because it's a big one.  But programs are often complicated at the microscopic level, and that is something I can address here.
      Rule 1.  You can't tell where a program is going to spend its time.  Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is.

      Rule 2.  Measure.  Don't tune for speed until you've measured, and even then don't, unless one part of the code overwhelms the rest.

      Rule 3.  Fancy algorithms are slow when n is small, and n is usually small.  Fancy algorithms have big constants. Until you know that n is frequently going to be big, don't get fancy.  (Even if n does get big, use Rule 2 first.)   For example, binary trees are always faster than splay trees for workaday problems.

      Rule 4.  Fancy algorithms are buggier than simple ones, and they're much harder to implement.  Use simple algorithms as well as simple data structures.

      The following data structures are a complete list for almost all practical programs:

array
linked list
hash table
binary tree
Of course, you must also be prepared to collect these into compound data structures.  For instance, a symbol table might be implemented as a hash table containing linked lists of arrays of characters.
      Rule 5.  Data dominates.  If you've chosen the right data structures and organized things well, the algorithms will almost always be self­evident.  Data structures, not algorithms, are central to programming.  (See Brooks p. 102.)

      Rule 6.  There is no Rule 6.


評(píng)論:
# re: 我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接)[未登錄](méi) 2008-02-29 09:41 | cppexplore
非常不錯(cuò)!這6個(gè)原則概括的還真是精辟!  回復(fù)  更多評(píng)論
  
# re: 我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接)[未登錄](méi) 2008-02-29 09:42 | cppexplore
非常不錯(cuò)!這6個(gè)原則概括的還真是精辟!  回復(fù)  更多評(píng)論
  
# re: 我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接) 2008-02-29 18:32 | comiunknown
5. 以數(shù)據(jù)為中心。如果已經(jīng)選擇了正確的數(shù)據(jù)結(jié)構(gòu)并且把一切都組織得井井有條,正確的算法也就不言自明。編程的核心是數(shù)據(jù)結(jié)構(gòu),而不是算法。

這條雙手雙腳贊一個(gè)^_^  回復(fù)  更多評(píng)論
  
# re: 我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接) 2008-02-29 21:01 | 嘯天豬
UTF-8的設(shè)計(jì)者是Ken Thompson,Rob Pike大概是第一時(shí)間見(jiàn)證了Ken Thompson設(shè)計(jì)UTF-8的過(guò)程  回復(fù)  更多評(píng)論
  

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美国产另类| 国产欧美一区二区精品性色| 欧美中文在线观看国产| 欧美岛国在线观看| 久久久久久一区二区| 欧美日韩综合在线| 亚洲国产三级| 精品福利av| 欧美一级电影久久| 羞羞答答国产精品www一本| 欧美另类videos死尸| 欧美成人免费网站| 黑人操亚洲美女惩罚| 午夜精品久久久久久久| 亚洲欧美日本日韩| 国产精品电影观看| 夜夜嗨av一区二区三区中文字幕| 亚洲欧洲精品一区二区三区| 久久激情五月婷婷| 久久亚洲色图| 怡红院av一区二区三区| 久久亚洲精品中文字幕冲田杏梨| 久久精品一区二区三区不卡牛牛| 国产伦精品一区二区三区照片91| 亚洲午夜精品一区二区| 亚洲一区久久久| 欧美婷婷六月丁香综合色| 亚洲日本aⅴ片在线观看香蕉| 亚洲三级色网| 欧美日韩国产免费| 夜夜嗨av一区二区三区网站四季av| 日韩天天综合| 欧美视频官网| 亚洲一区二区三区高清| 欧美在线视频一区二区| 国产一区二区三区的电影| 久久久精品国产99久久精品芒果| 久久一日本道色综合久久| 亚洲第一页自拍| 欧美精品久久久久a| 99re6这里只有精品| 香蕉尹人综合在线观看| 国内久久婷婷综合| 欧美wwwwww| 一本色道久久综合狠狠躁篇的优点 | 亚洲综合国产| 欧美一区二区黄| 红桃视频成人| 欧美精品videossex性护士| 亚洲美女视频| 久久精品国产欧美亚洲人人爽| 国产精品欧美日韩一区二区| 欧美在线免费| 91久久精品一区二区三区| 亚洲在线免费视频| 影音先锋亚洲精品| 欧美日韩日韩| 久久精品欧洲| 日韩一区二区精品| 理论片一区二区在线| 宅男66日本亚洲欧美视频| 国产一区高清视频| 欧美日韩国产成人在线91| 欧美亚洲一区在线| 亚洲精品欧美日韩专区| 久久天天狠狠| 午夜精品久久久久久久| 激情一区二区| 国产精品捆绑调教| 欧美精品999| 久久久久久久性| 亚洲视频网站在线观看| 亚洲国产精品123| 欧美日韩在线免费| 久久精品99无色码中文字幕| 亚洲三级视频| 女人色偷偷aa久久天堂| 欧美一区二区三区四区夜夜大片 | 最新中文字幕亚洲| 国产欧美日韩一区二区三区在线观看| 免费精品视频| 久久精品日韩| 西西裸体人体做爰大胆久久久| 亚洲激情视频在线| 理论片一区二区在线| 欧美亚洲一区| 亚洲一区二区三区在线观看视频| 亚洲国产成人在线播放| 国产一区自拍视频| 国产精品视频久久一区| 欧美午夜宅男影院| 欧美日韩精品一区| 欧美好骚综合网| 免费欧美在线| 蜜桃久久av一区| 久久裸体艺术| 久久精品午夜| 久久久久国内| 久久久综合激的五月天| 欧美一区二区免费视频| 亚洲伊人一本大道中文字幕| 99精品视频免费观看| 亚洲精品久久7777| 亚洲美女av电影| 亚洲精品视频在线| 日韩视频一区二区三区| 亚洲精品小视频| 亚洲伦理一区| 一区二区三区波多野结衣在线观看| 亚洲精品少妇| 一区二区三区回区在观看免费视频| 亚洲人成人一区二区三区| 亚洲日本电影在线| 一本久道综合久久精品| 亚洲天堂视频在线观看| 一本色道久久综合精品竹菊| 一区二区三区.www| 亚洲欧美激情诱惑| 久久成人亚洲| 欧美成人69av| 欧美三级视频在线播放| 国产精品嫩草久久久久| 国产日韩三区| 亚洲高清免费在线| 一区二区免费看| 午夜精品www| 美乳少妇欧美精品| 欧美成人亚洲成人日韩成人| 最新中文字幕亚洲| 亚洲视频欧美视频| 久久久国产精品一区二区三区| 久久这里只有| 欧美体内she精视频| 国产视频精品网| 亚洲精品国精品久久99热| 一区二区三区欧美视频| 午夜欧美精品久久久久久久| 久久亚洲一区二区| 亚洲精品在线免费观看视频| 亚洲欧美区自拍先锋| 久久亚洲欧美| 国产精品国产三级国产普通话蜜臀| 国产欧美精品一区aⅴ影院| 在线看片日韩| 亚洲欧美一区二区原创| 乱中年女人伦av一区二区| 亚洲精品一区二区三区樱花| 午夜在线精品| 欧美理论大片| 一区二区三区在线观看国产| 中国av一区| 另类成人小视频在线| 夜夜嗨一区二区三区| 久久综合九色99| 国产精品专区h在线观看| 亚洲国产综合在线看不卡| 亚洲欧美影院| 91久久久久久国产精品| 久久国产婷婷国产香蕉| 欧美视频日韩| 亚洲精品小视频在线观看| 欧美亚洲视频| 洋洋av久久久久久久一区| 久久一区中文字幕| 国产一级精品aaaaa看| 亚洲一区亚洲二区| 亚洲国产视频直播| 久久精品视频播放| 国产精一区二区三区| 在线视频日韩| 亚洲承认在线| 老司机凹凸av亚洲导航| 国产综合av| 欧美一级久久久| 日韩一级大片| 欧美日韩一区二区三区四区在线观看| 一区在线播放| 两个人的视频www国产精品| 午夜久久久久久| 国产精品久久看| 亚洲在线成人精品| 一本久道久久久| 欧美日韩hd| 一区二区日韩| 99精品国产在热久久下载| 欧美精品一区在线发布| 亚洲精品之草原avav久久| 女人香蕉久久**毛片精品| 久久精品国产2020观看福利| 国产老肥熟一区二区三区| 欧美一级二区| 性刺激综合网| 黄色欧美成人| 欧美aaaaaaaa牛牛影院| 久久人人爽爽爽人久久久| 激情一区二区| 亚洲第一精品夜夜躁人人爽| 狂野欧美激情性xxxx欧美| 亚洲国产成人精品久久| 欧美激情网站在线观看|