您好,登錄后才能下訂單哦!
本篇內容主要講解“二分查找的原理和用法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“二分查找的原理和用法”吧!
二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須采用順序存儲結構,而且表中元素按關鍵字有序排列
必須按照“大到小”或“小到大”的順序存儲的數組列表結構
列表進行折半, 取中間元素與目標值進行比較,判斷后決定舍去前半段或后半段,最終找到相等值
定義數組長度12,存儲1-12的整數,的查找過程示意圖
找到值為3都索引
找到值為13所在下標
找到值為11所在下標
public int binarySearch(int[] arrays, int searchTag, int left, int right){ int mid = (right + left) / 2; if (mid < 0 || mid >= arras.length){ return -1; } if (arrays[mid] == searchTag){ return mid; } if (arrays[mid] > searchTag){ right = mid; } else if (arrays[mid] < searchTag){ left = mid + 1; } if (left >= right){ return -1; } return binarySearch(arrays, searchTag, left, right); }
public int binarySearch(int[] arrays, int searchTag){ int right = arrays.length, left = 0; while (left < right){ int mod = (right + left) / 2; if (arrays[mid] == searchTag){ return mid; } else if (arrays[mid] > searchTag){ right = mid; } else { left = mid + 1; } } return -1; }
到此,相信大家對“二分查找的原理和用法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。