? ? ? ?二分查找又稱折半查找缤灵,優(yōu)點(diǎn)是比較次數(shù)少伦籍,查找速度快,平均性能好凤价;其缺點(diǎn)是要求待查表為有序表鸽斟,且插入刪除困難。因此利诺,折半查找方法適用于不經(jīng)常變動(dòng)而查找頻繁的有序列表富蓄。首先,假設(shè)表中元素是按升序排列慢逾,將表中間位置記錄的關(guān)鍵字與查找關(guān)鍵字比較立倍,如果兩者相等灭红,則查找成功;否則利用中間位置記錄將表分成前口注、后兩個(gè)子表变擒,如果中間位置記錄的關(guān)鍵字大于查找關(guān)鍵字,則進(jìn)一步查找前一子表寝志,否則進(jìn)一步查找后一子表娇斑。重復(fù)以上過程,直到找到滿足條件的記錄材部,使查找成功毫缆,或直到子表不存在為止,此時(shí)查找不成功乐导。
采用非遞歸方式完成二分查找法苦丁。Java代碼如下所示。
采用遞歸方式完成二分查找算法物臂。代碼如下所示旺拉。