• <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>
            隨筆-19  評論-21  文章-0  trackbacks-0
             要找工作了,終于覺得是時候總結一下數據結構了(ps: 對于數組,鏈表這樣簡單常用的結構就不總結了,此文會持續更新),總結有助于更好地思考。

            1. 位圖
                位圖的威力可以在<編程珠璣>的開頭就體會到。另外在Find an integer not among four billion given ones中的運用也很精彩。

            2. 堆
               在<編程珠璣>里重點運用了該結構,直接導致我以后經常想到并使用該結構。
               不得不說,它真的很有用,如:找N個數中最大/最小的k個數。
               實現優先級隊列時也有用。

            3. 樹
                 二叉搜索樹:是一個很容易就能想到的結構,只要讓一棵二叉樹滿足以下一個特性就可以了:對于任一結點N,其左子樹結點left滿足key(x) <= key(N),其右子樹結點right滿足key(y) >= key(N),其優點是操作簡單,缺點是插入,刪除結點的復雜度高,為O(N)
                 二叉搜索樹復雜度高的原因為:樹的高度不確定/不穩定,有可能為n,所以問題的關鍵是:如何控制樹的高度
                 很多人靈機一動:產生了一系列平衡二叉樹,如:AVL樹,Red-Black樹,Treap
                 也產生了很多平衡二叉樹的變種,如:Weight balanced tree,k-neighbor tree等
                 Skip List 也是平衡二叉樹之外的另一種選擇
                 Trie樹 用來存儲一個字典,然后用來查找某個字符串還是很方便的(A trie can be seen as a deterministic finite automaton.) 另外可以看看Suffix_tree后綴樹。

            4. hash
                hash的兩個關鍵點在于:a. hash桶大小的設定(一般為一個素數) b. 沖突處理機制,如可以用一個鏈表處理hash值相同的元素。
                我很少考慮hash,覺得復雜度不好把握。以后倒是可以考慮用用,如:在問題“判斷兩個鏈表是否相交”有可以使用hash;“判斷鏈表有沒有環”用hash也很給力。
            posted on 2011-08-24 20:15 hex108 閱讀(577) 評論(0)  編輯 收藏 引用 所屬分類: Algorithm
            亚洲女久久久噜噜噜熟女| 久久久精品久久久久久 | 色偷偷88欧美精品久久久| 伊人久久久AV老熟妇色| 狠狠人妻久久久久久综合蜜桃 | 精品久久久久成人码免费动漫 | 久久中文字幕视频、最近更新| 少妇高潮惨叫久久久久久| 久久国产亚洲精品麻豆| 久久精品国产第一区二区三区 | 大蕉久久伊人中文字幕| 99久久国产综合精品麻豆| 欧美一区二区三区久久综| 天堂久久天堂AV色综合| 国产成人无码精品久久久久免费| 伊人久久精品无码二区麻豆| 办公室久久精品| 久久久久久久亚洲Av无码| 久久大香萑太香蕉av| 婷婷久久综合九色综合98| 无码任你躁久久久久久| 久久久中文字幕| 老色鬼久久亚洲AV综合| 日韩人妻无码一区二区三区久久99| 久久线看观看精品香蕉国产| 人妻无码中文久久久久专区| 亚洲精品乱码久久久久久蜜桃 | 国内精品久久九九国产精品| 青青草原综合久久大伊人| 国产精品美女久久久网AV| 久久久一本精品99久久精品66| 亚洲综合熟女久久久30p| 香蕉久久影院| 国内精品久久久久影院亚洲| 欧美久久一级内射wwwwww.| 久久国产三级无码一区二区| 91精品日韩人妻无码久久不卡| 久久精品国产99国产精品澳门| 久久国产一区二区| 精品欧美一区二区三区久久久| 久久久久久A亚洲欧洲AV冫|