- 自己動手寫分布式搜索引擎
- 羅剛
- 195字
- 2020-11-28 15:52:40
1.4.1 折半查找
為了快速地查找單詞,可以先對單詞列表排序,例如:《新華字典》和《現代漢語詞典》按拼音排序。從排好序的詞表中查找一個詞,可以采用折半查找的方法快速查詢。下面是實現折半查找的代碼。
int binarySearch(String[] a, String key){ int low = 0; //開始位置 int high = a.length -1; //結束位置 while (low <= high) { int mid = (low + high) >>> 1; //相當于mid = (low + high)/2 String midVal = a[mid]; //取中間的值 int cmp = midVal.compareTo(key); //中間值和要找的關鍵詞比較 if (cmp < 0) low = mid + 1; else if (cmp > 0) high = mid -1; else return mid; // 查找成功,返回找到的位置 } return -(low + 1); // 沒找到,返回負值 }
推薦閱讀
- Beginning Swift
- ANSYS19.0實例詳解
- AutoCAD 2019中文版從入門到精通
- 魔法詞典:AI繪畫關鍵詞圖鑒(Stable Diffusion版)
- AutoCAD 2017從新手到高手
- 中文版Photoshop CS6全能修煉圣經(移動學習版)
- Seam 2 Web Development: LITE
- AutoCAD 2020中文版入門、精通與實戰
- AutoCAD 2022中文版從入門到精通(標準版)
- 剪映短視頻剪輯從入門到精通:宣傳短片+電商視頻+產品廣告+活動慶典
- 跨境電商:速賣通搜索排名規則解析與SEO技術
- Joomla! 1.5 JavaScript jQuery
- Microsoft SQL Server 2008 High Availability
- 夢幻森林Procreate童話風插畫繪制專業技法
- Microsoft Dynamics Sure Step 2010