日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构(6) -- 查找

發布時間:2024/2/28 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构(6) -- 查找 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 查找表:用于查找的數據集合

  • 對查找表的四種操作:

    • 查詢某特定元素是否在查找表中

    • 檢索滿足條件的某個特定的數據元素的各種屬性

    • 在查找表中插入一個數據元素

    • 刪除一個數據元素

  • 靜態查找表:沒有插入,刪除操作的查找表。查找方法:順序查找、折半查找、散列查找

  • 動態查找表方法:二叉排序樹的查找(二叉平衡樹、B樹)、散列查找

  • 平均查找長度:,n是查找表的長度。P_{i}是查找第i個元素的概率,C_{i}是找到第i個數據所需進行的比較次數,是查找表的長度。是查找第個元素的概率,是找到第個數據所需進行的比較次數

  • 順序查找:

    • 一般線性表的順序查找

      ?

    • 缺點:當n較大時,平均查找長度較大,效率低

      優點:對數據元素存儲沒有要求

    • 有序表的順序查找

  • 折半查找:

    • 折半查找過程可以用判定樹表示。圓形結點是一個記錄,值為關鍵字值。葉節點是方形,表示查找不成功的情況。查找成功時查找長度是根節點到目的結點路徑上的結點數;不成功是根節點到失敗節點父節點的路徑上的結點數。

    • 折半查找法查找給定值的比較次數最多不會超過樹的高度。

      • 折半查找時間復雜度O(log2n)

      • 折半查找只適合線性表的順序存儲結構,不適合鏈式存儲,且要求元素按關鍵字有序

  • 分塊查找:

    • 查找表分若干子塊,塊內元素可以無序,但塊之間有序。第一個塊中關鍵字小于第二塊中所有記錄關鍵字,以此類推。再建立一個索引表,索引表中每個元素含有各塊最大關鍵字和各塊第一個元素的地址,索引表按關鍵字有序排列。

  • B樹

    • 所有結點的孩子結點數的最大值稱B樹的階m

    • 若根節點不是終端結點,至少2棵子樹,1個關鍵字

    • 除根節點外的所有非葉節點至少 天花板(m/2)棵子樹,天花板(m/2)-1 個關鍵字

    • B樹是所有結點的平衡因子均等于0的多路查找樹

    • 一棵包含n個關鍵字,高度為h,階數為m的B樹:

    • B樹插入后小于m則直接插入,插入后大于m-1,則需分裂。(最多m-1——

    • B樹刪除用到最少天花板(m/2)-1個關鍵字

    • B樹不支持順序查找

    • 每個結點關鍵字個數范圍:

    • B樹葉節點個數對應查找失敗的情況,n個關鍵字,失敗的可能性n+1種

  • B+樹

    • 每個分支最多m棵子樹

    • 非根葉節點至少兩棵子樹,其他至少天花板(m/2)棵子樹。

    • 結點的子樹個數與關鍵字個數相等

    • B+樹支持順序查找

    • 葉節點包含全部關鍵字及指向相應記錄的指針,葉節點中將關鍵字按大小順序排列。分支結點只包含它的各個子節點中關鍵字的最大值和指針。

    • 每個結點關鍵字個數范圍:

    • B+樹非葉節點不含有關鍵字對應記錄的存儲地址

    • B+樹中,無論查找成功與否,每次查找都是一條從根節點到葉節點的路徑

  • 散列表

  • 散列函數把查找表中的關鍵字映射成該關鍵字對應的地址的函數

  • 沖突:兩個或兩個以上的不同關鍵字映射到同一地址

  • 同義詞:發生碰撞的關鍵詞

  • 散列表:根據關鍵字直接進行訪問的數據結構,查找時間復雜度O(1),與表中元素個數無關

  • 常用散列函數:

    • 直接定址法

    • 除留余數法

    • 數字分析法

    • 平方取中法

    • 折疊法

  • 處理沖突的方法:

    • 開放定址法

      • 線性探測法

      • 平方探測法

      • 再散列法

      • 偽隨機序列法

    • 拉鏈法

  • 散列表查找效率取決于3個因素:散列函數、處理沖突的方法、裝填因子

  • 裝填因子:

    ,表中記錄樹n、散列表長度m

  • 散列表的平均查找長度依賴于裝填因子α,不直接依賴m或n。α越大,表越滿

  • 總結

    以上是生活随笔為你收集整理的数据结构(6) -- 查找的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。