zoukankan      html  css  js  c++  java
  • Java面向对象_常用类库api——二分查找算法

    概念:又称为折半查找,优点是比较次数少,查找速度快,平均性能好;缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。

    例:

     1 public class BinarySearchDemo {
     2 
     3     /**
     4      * @param args
     5      */
     6     public static void main(String[] args) {
     7         // TODO Auto-generated method stub
     8         int[] nums={20,34,30,45,54,60};
     9         Arrays.sort(nums);
    10         for(int i:nums){
    11             System.out.println(i);
    12         }
    13         System.out.println(binarySearch(nums,60));
    14     }
    15     //二分查找算法
    16     //特点:查找速度快。要求:数列必须有序
    17     public static int binarySearch(int[] nums,int key){
    18         int start=0;
    19         int end=nums.length-1;
    20         int mid=-1;
    21         while(start<=end){
    22             mid=(start+end)/2;
    23             if(nums[mid]==key){
    24                 return mid;
    25             }else if(nums[mid]<key){
    26                 start=mid+1;
    27             }else if(nums[mid]>key){
    28                 end=mid-1;
    29             }
    30         }
    31         return -1;
    32     }
    33 
    34 }
  • 相关阅读:
    Swift8-枚举Enumerations
    Swift7-闭包
    Swift6-函数
    Swift5-控制流
    Swift4-集合类型
    什么是node.js
    nodejs的安装
    环境变量的认识,,,
    shell是什么,各种shell的初步认识,适用于初学者
    exports和module.exports的区别
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/5086359.html
Copyright © 2011-2022 走看看