网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

go语言实现二分查找 go语言 数据分析

二分查找和快速排序

二分

站在用户的角度思考问题,与客户深入沟通,找到岱岳网站设计与岱岳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站建设、外贸网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请网站空间、企业邮箱。业务覆盖岱岳地区。

package stack;

public class HalfSearch {

static int a[]={1,3,5,98,8,9,4,38,12};

public static int halfSeacrh(int[] a,int number){//二分查找

HalfSearch hs=new HalfSearch();

hs.bubbleSort(a);

int startPostion=0;

int endPostion=a.length-1;

int postion=(startPostion+endPostion)/2;

while(startPostionendPostion){

if(a[postion]==number)

return postion;

else if(a[postion]number){

startPostion=postion+1;

}

else if(a[postion]number){

endPostion=postion-1;

}

postion=startPostion+endPostion;

}

return -1;

}

public static void bubbleSort(int a[]){

int temp=0;

for(int i=0;ia.length;i++){

for(int j=i+1;ja.length;j++){

if(a[i]a[j]){

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

}

public static void main(String[] args) {

System.out.println(halfSeacrh(a,8));

}

}

快速:templateclass elemtype

void arrayelemtype::sort(int low,int high)

{

if(low=high) return;

int lo=high+1;

elemtype elem=_ia[low];

for( ; ; ) {

while(_ia[++lo]elem lohigh);

while(_ia[--hi]elem hilo);

if(lohi) swap(lo,hi);

else break;

}

swap(low,hi);

sort(low,hi-1);

sort(hi+1,high);

}

Go语言 排序与搜索切片

Go语言标准库中提供了sort包对整型,浮点型,字符串型切片进行排序,检查一个切片是否排好序,使用二分法搜索函数在一个有序切片中搜索一个元素等功能。

关于sort包内的函数说明与使用,请查看

在这里简单讲几个sort包中常用的函数

在Go语言中,对字符串的排序都是按照字节排序,也就是说在对字符串排序时是区分大小写的。

二分搜索算法

Go语言中提供了一个使用二分搜索算法的sort.Search(size,fn)方法:每次只需要比较㏒₂n个元素,其中n为切片中元素的总数。

sort.Search(size,fn)函数接受两个参数:所处理的切片的长度和一个将目标元素与有序切片的元素相比较的函数,该函数是一个闭包,如果该有序切片是升序排列,那么在判断时使用 有序切片的元素 = 目标元素。该函数返回一个int值,表示与目标元素相同的切片元素的索引。

在切片中查找出某个与目标字符串相同的元素索引

Golang二分法查找

使用二分查找需要数组是有序的。

比如在升序排列的数组中,将数组中间位置的数据与目标数据比较,如果相等则查找成功;否则按照中间位置把数组分为两部分,如果中间位置大于目标数据,则在前半部分中以取中心点的方式继续比较,否则查找后半部分。


文章标题:go语言实现二分查找 go语言 数据分析
转载源于:http://bjjierui.cn/article/dodhees.html

其他资讯