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

隨筆-60  評論-98  文章-0  trackbacks-0

Rob Pike, 是AT&T Bell Lab前Member of Technical Staff ,現在google研究操作系統,Unix先驅,UTF-8的設計人,The Unix Programming Environment 和 The Practice of Programming 的作者之一。 在《 Notes on C Programming 》中從另一個稍微不同的角度表述了 Unix 的哲學(或者說是程序局部優化6原則):

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

Ken Thompson —— Unix 最初版本的設計者和實現者,禪宗偈語般地對 Pike 的原則4 作了強調:
拿不準就窮舉

附:E文原文(節選自《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.

posted on 2008-02-29 08:39 創建更好的解決方案 閱讀(4499) 評論(4)  編輯 收藏 引用 所屬分類: E文全翻心路歷程C++專欄 、軟件設計

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

這條雙手雙腳贊一個^_^  回復  更多評論
  
# re: 我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接) 2008-02-29 21:01 | 嘯天豬
UTF-8的設計者是Ken Thompson,Rob Pike大概是第一時間見證了Ken Thompson設計UTF-8的過程  回復  更多評論
  
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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电影| 国产精品综合色区在线观看| 91久久精品美女高潮| 久色婷婷小香蕉久久| 久久躁狠狠躁夜夜爽| 六月婷婷久久| 亚洲人成毛片在线播放| 日韩一级欧洲| 欧美一区二区三区电影在线观看| 欧美影片第一页| 卡一卡二国产精品| 欧美日韩亚洲一区二区| 国产美女精品| 亚洲欧洲日夜超级视频| 亚洲欧美一区二区三区在线| 久久久久99| 最新日韩中文字幕| 性色av一区二区怡红| 欧美成人激情在线| 国产农村妇女毛片精品久久麻豆| 在线免费观看一区二区三区| 一本到高清视频免费精品| 久久精品人人做人人综合| 亚洲国产99精品国自产| 午夜欧美大尺度福利影院在线看| 欧美成人日韩| 国产日产精品一区二区三区四区的观看方式 | 蜜臀久久久99精品久久久久久 | 国产精品99久久不卡二区| 午夜欧美理论片| 欧美激情一区二区三区不卡| 亚洲视频一区在线观看| 久久亚洲综合色| 国产精品色婷婷久久58| 亚洲激情图片小说视频| 久久精品官网| 一区二区欧美精品| 欧美mv日韩mv亚洲| 国产一区二区主播在线| 亚洲免费在线观看视频| 亚洲国产日韩欧美在线图片| 国产精品久久综合| 久久久另类综合| 国产精品久久久99| 亚洲毛片一区二区| 欧美成人精品在线| 欧美在线视频不卡| 国产精品网红福利| 亚洲午夜精品久久| 亚洲另类自拍| 欧美日韩亚洲另类| 一区二区三区精品国产| 亚洲激情亚洲| 欧美全黄视频| 99日韩精品| 亚洲精品久久视频| 欧美精品系列| 亚洲视频成人| 一本大道久久精品懂色aⅴ | 久久av一区| 国产一区二区精品在线观看| 午夜精品偷拍| 性视频1819p久久| 狠狠爱综合网| 欧美成人免费全部观看天天性色| 久久国产主播精品| 在线观看欧美日韩| 欧美激情一区在线| 欧美激情影音先锋| 亚洲视频高清| 亚洲一区免费看| 狠狠色丁香婷婷综合影院| 老巨人导航500精品| 免费成人高清视频| av成人免费在线观看| 一本久久知道综合久久| 国产免费成人av| 久久在线91| 欧美精品 日韩| 小嫩嫩精品导航| 久久久久成人精品| 亚洲美女黄色| 亚洲一区综合| 亚洲成人资源网| 亚洲激情中文1区| 国产精品丝袜白浆摸在线| 久久精品电影| 欧美久久在线| 久久精品综合| 欧美国产一区在线| 亚洲欧美视频| 欧美 日韩 国产在线| 亚洲欧美精品suv| 久久久久久999| 亚洲永久免费观看| 老妇喷水一区二区三区| 亚洲一区二区动漫| 久久久久久综合网天天| 亚洲一区二区网站| 你懂的一区二区| 久久国产欧美| 亚洲国产三级在线| 99视频精品| 国产精品网站在线观看| 欧美一区二区三区啪啪| 欧美成人免费小视频| 亚洲自拍都市欧美小说| 久久亚洲不卡| 欧美亚洲日本一区| 欧美理论视频| 欧美v国产在线一区二区三区| 欧美日韩一区综合| 亚洲第一在线综合网站| 国产午夜一区二区三区| 99精品免费网| 一区二区三区视频在线| 麻豆精品精品国产自在97香蕉| 欧美资源在线| 国产精品一区视频| 亚洲视频一区二区| 亚洲一区二区欧美| 欧美视频一区二区在线观看| 欧美激情一二区| 一色屋精品视频免费看| 性色av一区二区三区| 欧美一区二区免费观在线| 国产精品高清免费在线观看| 亚洲乱码国产乱码精品精98午夜| 亚洲欧洲一区二区天堂久久| 欧美在线视频一区二区| 久久动漫亚洲| 国产日韩欧美高清免费| 亚洲一区二区三区四区五区午夜 | 亚洲精品在线三区| 久久天天狠狠| 亚洲福利电影| 日韩视频永久免费| 欧美精品一级| 中文网丁香综合网| 欧美一级午夜免费电影| 国产日韩欧美一二三区| 羞羞漫画18久久大片| 久久久福利视频| 亚洲国产成人久久综合一区| 免费成人你懂的| 亚洲免费电影在线| 亚洲欧美春色| 合欧美一区二区三区| 久久婷婷国产综合尤物精品 | 日韩亚洲成人av在线| 亚洲私人影院| 国产欧美日韩亚洲一区二区三区| 欧美在线视频二区| 亚洲高清不卡| 亚洲免费在线观看| 韩国精品主播一区二区在线观看| 麻豆成人在线播放| 一区二区三区国产在线| 久久亚洲春色中文字幕| 亚洲欧洲精品一区二区三区不卡| 欧美视频一区二区三区…| 欧美一区二区三区视频免费播放 | 激情久久久久久久久久久久久久久久| 久久精品视频导航| 亚洲人成网站999久久久综合| 亚洲你懂的在线视频| 韩日欧美一区| 欧美午夜精品伦理| 久久久xxx| 亚洲桃花岛网站| 农夫在线精品视频免费观看| 亚洲一区二区三区午夜| 在线视频观看日韩| 国产精品免费观看视频| 欧美.www| 欧美中文在线免费| 一本久久综合| 亚洲高清在线观看一区| 欧美伊人久久| 亚洲视频网站在线观看| 一区二区三区在线观看国产| 欧美日韩另类在线| 免费观看成人网| 久久精品视频免费| 亚洲欧美日韩一区二区在线| 亚洲激情综合| 玖玖综合伊人| 欧美中文日韩| 亚洲欧美视频一区二区三区| 日韩视频一区二区在线观看| 激情综合色丁香一区二区| 国产精品女人久久久久久| 欧美日韩不卡| 欧美激情一区二区三区在线视频观看| 久久av在线| 欧美影院成年免费版| 亚洲午夜极品| 亚洲图中文字幕| 亚洲性视频h| 亚洲午夜一区二区三区|