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

隨筆-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>
            在线精品国产欧美| 欧美成va人片在线观看| 你懂的国产精品永久在线| 亚洲免费伊人电影在线观看av| 久久人人看视频| 欧美在线视屏| 欧美视频一区二区| 亚洲国产欧美日韩精品| 精品二区久久| 亚洲欧美乱综合| 亚洲免费在线视频| 欧美精品在线一区二区| 欧美国产一区二区| 影音欧美亚洲| 欧美在线亚洲一区| 久久激情视频久久| 欧美特黄一级| 中文亚洲视频在线| 亚洲一区二区精品| 欧美日韩视频专区在线播放 | 久热精品视频在线观看| 国产精品视频在线观看| 亚洲一二区在线| 午夜在线a亚洲v天堂网2018| 欧美日韩综合在线| 一区二区三区回区在观看免费视频| 一区二区三区视频观看| 欧美日韩在线高清| 亚洲午夜日本在线观看| 亚洲免费在线视频一区 二区| 欧美午夜精品久久久久久浪潮| 一本色道88久久加勒比精品| 亚洲制服丝袜在线| 国产精品女人网站| 亚洲欧美制服另类日韩| 久久久久久久综合| 亚洲福利视频在线| 欧美黄色一区二区| 在线中文字幕不卡| 欧美在线你懂的| 激情久久综艺| 欧美国产第二页| 亚洲视频一区在线| 久久aⅴ国产紧身牛仔裤| 狠狠色综合色综合网络| 欧美91福利在线观看| 亚洲精品一品区二品区三品区| 亚洲综合成人婷婷小说| 国产日韩在线一区二区三区| 久久久噜久噜久久综合| 亚洲精品乱码久久久久久黑人| 亚洲欧美日韩在线不卡| 狠狠干狠狠久久| 欧美激情国产精品| 亚洲男人第一av网站| 麻豆精品传媒视频| 一区二区三区欧美| 国产日韩在线一区| 欧美精品在线看| 欧美一级久久久| 91久久精品一区二区别| 欧美在线视频在线播放完整版免费观看| 在线成人小视频| 欧美性淫爽ww久久久久无| 久久久91精品国产一区二区精品| 亚洲激情在线视频| 性欧美8khd高清极品| 91久久精品久久国产性色也91| 欧美四级伦理在线| 美女主播一区| 性欧美video另类hd性玩具| 亚洲高清一二三区| 久久久久九九九| 亚洲午夜电影| 亚洲精品久久视频| 国内精品视频在线观看| 国产精品久久精品日日| 欧美高清不卡在线| 久久精品官网| 亚洲欧美高清| 一本一本a久久| 欧美国产免费| 久久欧美中文字幕| 亚洲综合日韩在线| 一区二区久久久久| 亚洲韩国一区二区三区| 国产亚洲一区二区三区在线播放| 欧美日韩伊人| 欧美第十八页| 久久综合狠狠综合久久综青草| 欧美一区二区三区久久精品| av72成人在线| 亚洲免费久久| 亚洲欧洲在线视频| 欧美电影免费观看大全| 鲁大师成人一区二区三区| 欧美专区在线观看一区| 亚洲欧美久久| 亚洲一区亚洲| 中文av字幕一区| 夜夜爽夜夜爽精品视频| 91久久久久久久久| 91久久久国产精品| 亚洲经典三级| 亚洲精品极品| 日韩视频中文字幕| 一区二区激情| 亚洲一区二区三区四区中文| 日韩视频在线一区| 一本一本a久久| 一区二区欧美日韩视频| 亚洲视频第一页| 一区二区三区四区五区视频| 国产精品99久久久久久久久| 亚洲素人在线| 午夜精品成人在线| 欧美在线1区| 久久亚洲国产精品日日av夜夜| 久久久午夜精品| 欧美国产三区| 亚洲另类在线视频| 一级日韩一区在线观看| 亚洲欧美第一页| 久久精品亚洲| 欧美91视频| 欧美性做爰毛片| 国产欧美日本在线| 在线日本高清免费不卡| 亚洲日韩第九十九页| 一本色道婷婷久久欧美| 午夜精品视频网站| 麻豆精品精华液| 亚洲人成在线播放| 亚洲一区二区3| 久久精品欧美日韩| 欧美激情第一页xxx| 国产精品欧美一区二区三区奶水 | 欧美涩涩网站| 国产亚洲网站| 亚洲免费观看| 久久精品一本| 亚洲娇小video精品| 亚洲性线免费观看视频成熟| 久久久久国色av免费看影院| 欧美国产亚洲另类动漫| 国产精品揄拍一区二区| 91久久久久久国产精品| 亚洲欧美另类国产| 欧美激情精品| 亚洲欧美一区二区视频| 欧美成人中文字幕| 国产欧美日韩视频一区二区三区| 亚洲国产精品传媒在线观看 | 卡一卡二国产精品| 欧美视频在线不卡| 亚洲国产视频一区| 久久成人精品视频| 亚洲欧洲日韩综合二区| 久久精品免费| 国产精品九色蝌蚪自拍| 亚洲经典在线看| 久久久久欧美| 亚洲私拍自拍| 欧美国产激情二区三区| 国产在线视频欧美| 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品福利| 久久久水蜜桃av免费网站| 国产精品日韩欧美大师| 日韩午夜av电影| 欧美国产一区二区在线观看| 午夜视频一区在线观看| 国产精品xxxxx| 一级日韩一区在线观看| 欧美激情a∨在线视频播放| 欧美一区二区三区免费看 | 国产在线视频欧美一区二区三区| 一区二区三区精品久久久| 欧美激情中文不卡| 久久久久久久综合日本| 国产情人综合久久777777| 亚洲女女女同性video| 日韩视频国产视频| 欧美国产日韩精品免费观看| 亚洲承认在线| 猫咪成人在线观看| 久久精品最新地址| 狠狠综合久久| 久热精品在线视频| 久久精品一区二区三区不卡| 国产性猛交xxxx免费看久久| 欧美一区二区三区日韩| 亚洲欧美精品suv| 国产亚洲欧美日韩精品| 久久蜜桃av一区精品变态类天堂| 欧美一区二区在线| 激情综合久久| 免费在线观看日韩欧美| 欧美v日韩v国产v| 99亚洲一区二区|