国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java 復習003

2019-11-14 21:02:20
字體:
來源:轉載
供稿:網友
java 復習003
今天主要復習下數據結構的東西 
  1. 自平衡二叉查找樹

    1. AVL樹(高平衡樹)(wiki)
      1. 特性:任何節點的兩個子樹的高度最大差別為一
      2. 時間復雜度:查找、插入和刪除在平均和最壞情況下都是O(log n)
    2. 紅黑樹(對稱二叉B樹)(wiki)
      1. 特性:
        1. 節點是紅色或黑色
        2. 根是黑色
        3. 所有葉子都是黑色(葉子是NIL節點)
        4. 每個紅色節點的兩個子節點都是黑色。(從每個葉子到根的所有路徑上不能有兩個連續的紅色節點)
        5. 從任一節點到其每個葉子的所有簡單路徑都包含相同數目的黑色節點。
      2. 優勢:
        1. 從根到葉子的最長的可能路徑不多于最短的可能路徑的兩倍長,在高度上的理論上限允許紅黑樹在最壞情況下都是高效的
        2. 統計性能好
      3. 用途:用來構造關聯數組(Map)和集合(Set)
  2. B樹

    1. B-樹 (百度百科)
      1. 特性:關鍵字分布在整顆樹中,查找成功立即結束(區別于B+樹)
      2. 性能:搜索效率等價于二分查找
      3. 用途:常用于文件引索系統
    2. B+樹
      1. 特性:每個關鍵字不保存數據,只用來索引,所有數據都保存在葉子節點,查找成功也要跳到葉子節點才結束(區別于B-樹)
      2. 用途:通常用于數據庫操作系統的文件系統中
    3. B*樹
      1. B+樹的變體,在B+樹的非根和非葉子結點再增加指向兄弟的指針;B樹定義了非葉子結點關鍵字個數至少為(2/3)M,即塊的最低使用率為2/3(代替B+樹的1/2);
  3. 鍵樹

    1. 鍵樹(數字查找樹)
      1. 每條通往葉子節點的路徑都是一個關鍵字符串
    2. trie樹(字典樹)
      1. 典型應用是用于統計,排序和保存大量的字符串(但不僅限于字符串),所以經常被搜索引擎系統用于文本詞頻統計
      2. 優點:利用字符串的公共前綴來減少查詢時間,最大限度地減少無謂的字符串比較,查詢效率比哈希表高
排序(java實現)

參見我的另一篇博客:some-sort-algorithms這里用java再實現一遍,代碼比較多,放到另一篇博客去了:some-sort-algorithms-java

查找
  1. 二分查找
    packagevell.bibi.algorithms.search;publicclassBinarySearch{//非遞歸實現publicstaticintsearch(int[]a,intkey){intlow=0,high=a.length-1,mid=0;while(high>=low){mid=(high+low)/2;if(key==a[mid])returnmid;elseif(key>a[mid])low=mid+1;elsehigh=mid-1;}return-1;}//遞歸實現publicstaticintsearch(int[]a,intlow,inthigh,intkey){if(high<low)return-1;intmid=(low+high)/2;if(key==a[mid])returnmid;elseif(key>a[mid])returnsearch(a,mid+1,high,key);elsereturnsearch(a,low,mid-1,key);}publicstaticvoidmain(String[]args){int[]a={2,3,4,5,6,7,8,9,10,11};System.out.PRintln(search(a,5));System.out.println(search(a,0,a.length-1,5));}}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吕梁市| 辰溪县| 西林县| 绥宁县| 青川县| 内乡县| 万载县| 马尔康县| 平昌县| 洪雅县| 麻江县| 乐平市| 黄石市| 香河县| 长武县| 陆川县| 牟定县| 淅川县| 衡阳县| 绥宁县| 英超| 洪雅县| 三明市| 龙里县| 福州市| 罗山县| 木兰县| 常德市| 闽清县| 青浦区| 竹北市| 南昌市| 赣州市| 蓝山县| 乌海市| 梅河口市| 上杭县| 宣化县| 东兰县| 河北区| 治多县|