• 线性结构--二分查找


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

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

    二分查找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 }
  • 相关阅读:
    ●单例模式
    ●扩展方法
    ●存储过程比sql语句慢
    ●rownum() over()
    ●日期格式化
    ●sql优化
    VS建立Web网站 20141201
    ORM操作(一) 20141128
    流的操作20141104
    控件:菜单、工具栏、状态栏及TreeView的操作 20141103
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/10153152.html
Copyright © 2020-2023  润新知