zoukankan      html  css  js  c++  java
  • 线性结构--二分查找

       二分查找又称折半查找,它是一种效率较高的查找方法。

       二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。

    二分查找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 }
  • 相关阅读:
    请教提高上百万行数据insert速度的“经典”方法
    poj1411
    poj1422
    poj1661
    poj1664
    poj1405
    交往艺术与沟通技巧[推荐]
    不可不听的10个职场故事
    也谈如何“领导”你的领导
    十个让爱情稳固的经典好习惯
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/10153152.html
Copyright © 2011-2022 走看看