1. 程式人生 > >線性結構--二分查詢

線性結構--二分查詢

   二分查詢又稱折半查詢,它是一種效率較高的查詢方法。

   二分查詢要求:線性表是有序表,即表中結點按關鍵字有序,並且要用向量作為表的儲存結構。不妨設有序表是遞增有序的。

二分查詢java程式碼

 1 package com.feimao.com.feimao.a2.test;
 2 
 3 import java.util.Arrays;
 4 
 5 public class BinarySerach {
 6     public static void main(String[] args){
 7         int[] arr = new
int[]{1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9}; 8 System.out.println(Arrays.toString(arr)); 9 //目標元素 10 int target = 2; 11 int begin = 0; 12 int end = arr.length-1; 13 int mid = (begin + end)/2; 14 //記錄目標位置 15 int index = -1; 16 while(true
){ 17 //判斷中間這個元素是不是要查詢的元素 18 if(arr[mid] == target){ 19 index = mid; 20 break; 21 }else{ 22 //判斷中間這個元素是不是比目標元素大 23 if(arr[mid] > target){ 24 //把結束位置調整到中間位置的前一個位置 25 end = mid - 1;
26 }else{ 27 //把開始位置調整到中間位置的後一個位置 28 begin = mid + 1; 29 } 30 //取出新的中間位置 31 mid = (begin + end)/2; 32 } 33 } 34 System.out.println("index " + index); 35 } 36 }