1.二分查找又称折半查找,它是一种效率较高的查找方法。 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找,若大于中 ...
分类:
编程语言 时间:
2016-08-11 00:29:31
阅读次数:
167
二分查找的基本思想是将n个有序的元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果x<a[n/2],则只要在数组a的左半部分继续搜索x,如果x>a[n/2],则只要在数组a的右半部搜索x。时间复杂度无非就是while循环的次数!总共有n个元素,渐渐跟..
分类:
其他好文 时间:
2016-07-04 12:08:49
阅读次数:
166
二分查找又称折半查找,它是一种效率较高的查找方法。 折半查找的算法思想是将数列按有序化(递增或递减)排列,查找过程中采用跳跃式方式查找,即先以有序数列的中点位置为比较对象,如果要找的元素值小于该中点元素,则将待查序列缩小为左半部分,否则为右半部分。通过一次比较,将查找区间缩小一半。 折半查找是一种高
分类:
编程语言 时间:
2016-02-27 16:33:58
阅读次数:
170
importjava.util.Scanner;
importjava.util.Arrays;
publicclassErfen
{
publicstaticvoidmain(String[]args)
{
Scannersca=newScanner(System.in);
int[]arr={15,22,13,44,5,623,734,18,92,10};
Arrays.sort(arr);
ints=0,m=0,e=arr.length-1;
System.out.println("请输入一..
分类:
编程语言 时间:
2015-11-23 15:02:35
阅读次数:
174
package com.my.Test;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class MainTest { public static void main(Stri...
分类:
编程语言 时间:
2015-11-19 12:42:33
阅读次数:
134
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上...
分类:
编程语言 时间:
2015-08-11 23:27:20
阅读次数:
182
classBinaryFind{
publicintfind(intleftIndex,intrightIndex,intval,intarr[]){
intmidIndex=(leftIndex+rightIndex)/2;
if(rightIndex>=leftIndex){
if(arr[minIndex]>val){
find(leftIndex,midIndex-1,val,arr);
returnmidIndex;
}elseif(arr[minIndex}<val){
find..
分类:
其他好文 时间:
2015-06-08 15:13:06
阅读次数:
88
public class QueryDemo {
public static void main(String[] args) {
int[] arr2 = new int[] { 11, 3,32,34, 45, 56, 78 };
System.out.println("67在数组中的位置:" + halfSearch(arr2, 11));
}
public static ...
分类:
编程语言 时间:
2015-05-03 12:04:10
阅读次数:
149