<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-7  評論-24  文章-102  trackbacks-0


    文章內容引用自:
    全面了解數據庫設計中分類算法
    http://blog.csdn.net/hyzhx/archive/2008/03/21/2201465.aspx

    在數據庫中存儲層次數據實現無限級分層
    http://www.52web.com/52article/?view-250.html
    http://www.thinkly.cn/index.php/archives/354

    商品無限分類的算法如何優化?
    http://www.javaeye.com/topic/170744

          關于無限分類的設計網上討論有很多,說白了就是在數據庫中設計樹的問題,在這里僅對我所知的做些記錄與對比。
    假設表結構為下圖,并且為某表的外鍵引用。要求:
    1、實現無限層次。
    2、能找到節點的路徑。
    3、能找到所有子孫節點集合(獲取樹)。

    引用:"在數據庫中存儲層次數據實現無限級分層"

     


    方案1:鄰接列表模型(The Adjacency List Model)/遞歸方法
    http://www.52web.com/52article/?view-250-page-2.html
     
    引用:"在數據庫中存儲層次數據實現無限級分層"

     

    優點:結構簡單明了,對于節點的維護并不需要額外的工作。
    缺點:實現要求2、3需要進行大量的遞歸操作,每一次數據庫查詢都需要花費一點時間。
     


    方案2:遞歸方法改進


     

    對方案1的擴展,新增 path字段以存儲節點路徑,arrayChild字段存儲其下所有節點。

    優點:實現要求1、2只需要一次查詢。
    缺點:當節點發生改變時需要維護對應的字段,且 path與 arrayChild以拼串形式存儲于文本字段,容易限制節點長度,并且對于查詢效率有影響。

     


    方案3:改進前序遍歷樹
    http://www.52web.com/52article/?view-250-page-2.html



    如果作為主鍵標識的節點編號存在外部引用,還需要定義一個鏈表編號 linkId來確保其主鍵標識固定,并重新定義其鏈表左右范圍。

     

    優點:實現要求1、2只需要一次查詢,但比方案2維護起來更見方便(減少大量的拼串),而且因為左右值表示的是鏈表的范圍,所以查詢效率更高。
    缺點:算法未經說明前不如方案1、2直觀。 




    ps:
    分類算法要解決的問題 

          在網站建設中,分類算法的應用非常的普遍。在設計一個電子商店時,要涉及到商品分類;在設計發布系統時,要涉及到欄目或者頻道分類;在設計軟件下載這樣的程序時,要涉及到軟件的分類;如此等等。可以說,分類是一個很普遍的問題。 

    我常常面試一些程序員,而且我幾乎毫無例外地要問他們一些關于分類算法的問題。下面的舉幾個我常常詢問的問題。你認為你可以很輕松地回答么? 

    1、分類算法常常表現為樹的表示和遍歷問題。那么,請問:如果用數據庫中的一個Table來表達樹型分類,應該有幾個字段? 

    2、如何快速地從這個Table恢復出一棵樹? 

    3、如何判斷某個分類是否是另一個分類的子類? 

    4、如何查找某個分類的所有產品? 

    5、如何生成分類所在的路徑。 

    6、如何新增分類? 

    在不限制分類的級數和每級分類的個數時,這些問題并不是可以輕松回答的。本文試圖解決這些問題。
    posted on 2010-05-02 10:48 黃小二 閱讀(660) 評論(0)  編輯  收藏 所屬分類: [DB]
    主站蜘蛛池模板: 国产精品亚洲一区二区三区在线观看| 中文在线日本免费永久18近| 亚洲色偷精品一区二区三区| 日韩免费在线中文字幕| 777成影片免费观看| 国产一级大片免费看| 亚洲美女一区二区三区| 曰韩无码AV片免费播放不卡| 亚洲国产精品无码久久久久久曰 | 性色av无码免费一区二区三区| 久久亚洲av无码精品浪潮| 亚洲一区二区三区四区视频| 两个人日本免费完整版在线观看1| 可以免费观看一级毛片黄a | 亚洲AV无码专区国产乱码电影| 成人婷婷网色偷偷亚洲男人的天堂| 99久热只有精品视频免费看 | 亚洲精品人成在线观看| 乱淫片免费影院观看| 真人做人试看60分钟免费视频| 亚洲国产精品一区二区成人片国内| 老妇激情毛片免费| 美女被免费视频网站a国产| 亚洲国产精品xo在线观看| 免费视频一区二区| 亚洲日韩精品无码一区二区三区| 免费在线观看亚洲| 国产亚洲午夜高清国产拍精品| 免费91麻豆精品国产自产在线观看 | 无遮挡呻吟娇喘视频免费播放| 妞干网免费观看视频| 亚洲国产精品免费在线观看| 99久久免费精品视频| 亚洲成a人片在线观看精品| 曰批全过程免费视频网址| 亚洲精选在线观看| 日韩免费一区二区三区| 亚洲AV无码XXX麻豆艾秋| 日韩一品在线播放视频一品免费| 一个人看的www视频免费在线观看| 亚洲国产一区在线|