当前位置: 首页 > news >正文

做设计私活的网站推广联盟平台

做设计私活的网站,推广联盟平台,中国建设银行贵州分行网站,建设部法律法规网站斐波那契查找原理,仅仅改变了中间结点(mid)的位置,mid不再是中间或插值得到,而是位于黄金分割点附近,即midlowF(k-1)-1(F代表斐波那契数列) F[k]F[k-1]F[k-2],>(F[k]-1) (F[k-1]-1)(F[k-2]-1)1 说明:只要顺序表的长度为F[k]-1,则可以将该…

 斐波那契查找原理,仅仅改变了中间结点(mid)的位置,mid不再是中间或插值得到,而是位于黄金分割点附近,即mid=low+F(k-1)-1(F代表斐波那契数列)

F[k]=F[k-1]+F[k-2],==>(F[k]-1) = (F[k-1]-1)+(F[k-2]-1)+1

说明:只要顺序表的长度为F[k]-1,则可以将该表分成长度为F[k-1]-1和F[k-2]-1的两段

从而得到中间位置mid = low+F(k-1)-1

package day7_11;import java.util.Arrays;public class Test {public static int maxSize = 20;public static void main(String[] args) {int[] arr =  {1,8,10,89,1000,1234};int i = fibSearch(arr, 1234);System.out.println(i);}public static int[]fib(){int[] f = new int[maxSize];f[0] = 1;f[1] = 1;for(int i=2;i<maxSize;i++){f[i] = f[i-1] + f[i-2];}return f;}//使用非递归的方式/**** @param a 数组* @param key 我们需要查找的关键码(值)* @return  返回对应的下标,如果没有-1*/public static int fibSearch(int[] a,int key){int low = 0;int high = a.length-1;int k =0;int mid = 0;int f[] = fib();while (high > f[k] -1 ){k++;}//因为f[k]值可能大于a的长度,因此我们需要使用Arrays类,构造一个新的数组,并指向a[]//不足的部分会使用0填充int[] temp = Arrays.copyOf(a,f[k]);//实际上需求使用a数组最后的数填充temp//temp = {1,8,10,89,1000,1234,0,0,0} => {1,8,10,89,1000,1234,1234,1234,1234}for(int i=high+1;i<temp.length;i++){temp[i] = a[high];}//使用while来循环处理,找到我们的数keywhile (low<=high){mid = low+f[k-1]-1;if(key<temp[mid]){ //我们应该继续向数组的前面查找high = mid - 1;//为什么是k-1//说明//1.全部元素 = 前面的元素 + 后边的元素//2.f[k] = f[k-1] + f[k-2]//因为前面有f[k-1]个元素,所以可以继续拆分f[k-1] = f[k-2] + f[k-3]//即在f[k-1]的前面继续查找k--//即下次循环mid = f[k-1-1]-1k--;}else if(key>temp[mid]){low = mid + 1;//为什么是k-=2//说明//1.全部元素 = 前面的元素+后边元素//2.f[k] = f[k-1] + f[k-2]//3.因为后面我们有f[k-2]所以可以继续拆分f[k-1] = f[k-3] + f[k-4]//4.即在f[k-2]的前面进行查找k-=2//5.即下次循环mid = f[k-1-2]-1k -=2;}else{ //找到//需要确定,返回的是哪个下标if(mid<=high){return mid;}else{return high;}}}return -1;}}

http://www.khdw.cn/news/7131.html

相关文章:

  • 网站开发的报告书长沙网站seo优化公司
  • 设计一个网站首页方案女生学电子商务后悔了
  • wordpress自带apiseo自媒体运营技巧
  • 分成型网站建设济南seo怎么优化
  • 网站中英文域名app推广好做吗
  • 寻找网站建设推广seo优化有哪些
  • wordpress后台文章自定义字段面板seo外链怎么做
  • 公司网站找谁做小程序开发需要哪些技术
  • 高端集团官方网站建设公司温州seo排名优化
  • 保定外贸网站制作深圳网站开发制作
  • 网站页面尺寸谷歌外链代发
  • 怎么建网站 手机版泰州seo外包公司
  • 如何在电脑上做物流网站什么叫优化
  • 毕业设计餐饮网站建设百度首页入口
  • 企业网站推广的方法有哪几种seo标题优化的心得总结
  • 海拉尔网站建设+网站设计seo外包多少钱
  • 这么注册免费网站西地那非片的功效与作用
  • 日本女做受视频网站汕头seo按天付费
  • 网页怎么制作步骤seo含义
  • 哪些网站怎么进厦门seo报价
  • 有一个做炫舞官网活动的网站武汉seo推广
  • 卖域名赚钱吗四川旅游seo整站优化
  • 宝安网站开发免费卖货平台
  • 网站建设需要的文案搜索引擎排名优化
  • 电商软件开发费用百度seo服务方案
  • 医疗器械网站模板免费发外链平台
  • 高端旅游定制网站微信朋友圈营销文案
  • 网站建设的需求方案seo关键词排名查询
  • 深圳网站的做网站公司怎样注册自己的网站
  • seo是指什么宁波 seo排名公司