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

和幼儿做网站爱四川最好的网络优化公司

和幼儿做网站爱,四川最好的网络优化公司,网站后台打不开了怎么办,青岛营销型网站建设一、介绍 斐波拉契查找法是以分割范围进行查找的#xff0c;分割的方式是按照斐波拉契级数的方式来分割。好处是#xff1a;只用到加减运算#xff0c;计算效率较高一些。 要使用斐波拉契查找首先需要定义一颗斐波拉契查找树#xff0c;建立规则如下#xff1a; 1.斐波拉契…一、介绍 斐波拉契查找法是以分割范围进行查找的分割的方式是按照斐波拉契级数的方式来分割。好处是只用到加减运算计算效率较高一些。 要使用斐波拉契查找首先需要定义一颗斐波拉契查找树建立规则如下 1.斐波拉契树的左右子树均为斐波拉契树。 2.当数据个数n确定时若想确定斐波拉契树的层数k值就必须找到一个最小的K值使得斐波拉契层数的Fibk1 n1. 3.斐波拉契树的树根一定是一个斐波拉契树且子节点与父节点差值的绝对值为斐波拉契数。 4.当k2时斐波拉契树的树根为Fib(k),左子树为k-1层斐波拉契树其树根为Fib(k-1), 右子树为k-2层斐波拉契树其树根为Fib(k) Fib(k-2)。 5.若n1的值不为斐波拉契数的值则可以找出存在一个m使用Fib(k1)-m n1mFib(k1)-(n1),再按斐波拉契树的建立原则完成斐波拉契树的建立最后斐波拉契树的各节点减去差值m即可并把小于1的节点去掉。 可以先罗列一部分斐波拉契数的值如下 Fib(0) 0, Fib(1) 1, Fib(2) 1, Fib(3) 2, Fib(4) 3 Fib(5) 5, Fib(6) 8, Fib(7) 13,  Fib(8) 21, Fib(9) 34, 接下来第一种情况时n1的值是斐波拉契数的值假设就是数1~33也就是n33,那么n1 34,可以根据Fib(k1) n1 得出 k的值为8则可以建立斐波拉契树如下        第二种情况就是n1的值不是斐波拉契数的值假设n10,那么n1 11不是斐波拉契数按照第五条规则可以找出一个值m,使Fib(k1) - m n1成立则Fib(k1)13,则m2, k6,按照规则建立的斐波拉契树如下 各节点减去m,并把小于1的节点去掉之后得到 斐波拉契查找法步骤首先将要查找的数与树根Fib(k)比较如果相等这个数就是Fib(k),如果比Fib(k)小则数在1到Fib(k)-1之间如果比Fib(k)大则这个数在Fib(k)1到Fib(k1)-1之间。 二、建立Fib树代码 1.首先先生成Fib数储存起来避免每次查找都要计算一遍 void FibCalc(int n) { fibls.Add(0);for (int i 1; i n; i){if (i 3){fibls.Add(1);}else{fibls.Add(fibls[i-1] fibls[i-2]);} } } 2.然后判断一个数是不是Fib数并且找到一个比这个数大或者相等的Fib数 bool LookUpFibAndIsFib(int val, out int ksum1){ksum1 -1;if (val 0){Debug.LogError(输入的值不能小于0);return false;}for (int i 0; i fibls.Count; i){if (val fibls[i]){ksum1 i;return true;}else if(val fibls[i]){ksum1 i;return false;}}Debug.LogError(没有匹配到K);return false;} 3生成Fib树 void GenerateFibTree(Node node, int k,int val){if (k - 2 0) return;int fibNum node.Data - fibls[k - 2];if (fibNum node.Data) return;if (node.Data ! 1){node.LeftNode new Node();node.LeftNode.Data fibNum;node.LeftNode.PNode node;}int fibNumR node.Data fibls[k - 2];if (fibNum 1 fibNumR ! root.Data){if (fibNumR ! node.PNode.Data || node.PNode null){if (node.PNode.PNode ! null fibNumR ! node.PNode.PNode.Data){node.RightNode new Node();node.RightNode.Data fibNumR;node.RightNode.PNode node;}if (node.PNode.PNode null){node.RightNode new Node();node.RightNode.Data fibNumR;node.RightNode.PNode node;}}}if (node.LeftNode ! null)GenerateFibTree(node.LeftNode, k - 1, val);if (node.RightNode ! null)GenerateFibTree(node.RightNode, k - 2, val);} 4.在需要减去m的情况下 void FibTreeMinusM(int m,Node node){if (node.LeftNode ! null){node.LeftNode.Data - m;FibTreeMinusM(m, node.LeftNode);if (node.LeftNode.Data 1)node.LeftNode null;}if (node.RightNode ! null){node.RightNode.Data - m;FibTreeMinusM(m, node.RightNode);if (node.RightNode.Data 1)node.RightNode null;}} 5.最后按照输入的数值生成Fib树 void FibLookUpArithmetic(int val){int ksum1 0;if (LookUpFibAndIsFib(val1, out ksum1)){int k ksum1 - 1;InitGenerateFibTree(k,val);}else{int k ksum1 - 1;InitGenerateFibTree(k, val);int m fibls[ksum1] - (val 1);root.Data - m;FibTreeMinusM(m, root);}} 完整代码 using System.Collections.Generic; using UnityEditor.Experimental.GraphView; using UnityEngine; using UnityEngine.Rendering;public class LookUpArithmetic : MonoBehaviour {Listint fibls;Node root;void Start(){fibls new Listint(30);FibCalc(30);FibLookUpArithmetic(10);}void FibLookUpArithmetic(int val){int ksum1 0;if (LookUpFibAndIsFib(val1, out ksum1)){int k ksum1 - 1;InitGenerateFibTree(k,val);}else{int k ksum1 - 1;InitGenerateFibTree(k, val);int m fibls[ksum1] - (val 1);root.Data - m;FibTreeMinusM(m, root);}}bool LookUpFibAndIsFib(int val, out int ksum1){//首先判断是否是一个Fbi数和找到一个Fbi数两步可以合并为一步ksum1 -1;if (val 0){Debug.LogError(输入的值不能小于0);return false;}for (int i 0; i fibls.Count; i){if (val fibls[i]){ksum1 i;return true;}else if(val fibls[i]){ksum1 i;return false;}}Debug.LogError(没有匹配到K);return false;}void FibCalc(int n){ fibls.Add(0);for (int i 1; i n; i){if (i 3){fibls.Add(1);}else{fibls.Add(fibls[i-1] fibls[i-2]);} }}void InitGenerateFibTree(int k, int val){root new Node();root.Data fibls[k];root.LeftNode new Node();root.LeftNode.Data fibls[k] - fibls[k - 2];root.LeftNode.PNode root;GenerateFibTree(root.LeftNode, k - 1, val);root.RightNode new Node();root.RightNode.Data fibls[k] fibls[k - 2];root.RightNode.PNode root;GenerateFibTree(root.RightNode, k - 2, val);}void GenerateFibTree(Node node, int k,int val){if (k - 2 0) return;int fibNum node.Data - fibls[k - 2];if (fibNum node.Data) return;if (node.Data ! 1){node.LeftNode new Node();node.LeftNode.Data fibNum;node.LeftNode.PNode node;}int fibNumR node.Data fibls[k - 2];if (fibNum 1 fibNumR ! root.Data){if (fibNumR ! node.PNode.Data || node.PNode null){if (node.PNode.PNode ! null fibNumR ! node.PNode.PNode.Data){node.RightNode new Node();node.RightNode.Data fibNumR;node.RightNode.PNode node;}if (node.PNode.PNode null){node.RightNode new Node();node.RightNode.Data fibNumR;node.RightNode.PNode node;}}}if (node.LeftNode ! null)GenerateFibTree(node.LeftNode, k - 1, val);if (node.RightNode ! null)GenerateFibTree(node.RightNode, k - 2, val);}void FibTreeMinusM(int m,Node node){if (node.LeftNode ! null){node.LeftNode.Data - m;FibTreeMinusM(m, node.LeftNode);if (node.LeftNode.Data 1)node.LeftNode null;}if (node.RightNode ! null){node.RightNode.Data - m;FibTreeMinusM(m, node.RightNode);if (node.RightNode.Data 1)node.RightNode null;}} }class Node {public Node LeftNode;public Node RightNode;public int Data;public Node PNode null; }如有不足之处欢迎指正。 参考书籍 清华大学出版社-图书详情-《图解数据结构--使用C#》 (tsinghua.edu.cn)
文章转载自:
http://www.morning.mzhgf.cn.gov.cn.mzhgf.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.lonlie.com.gov.cn.lonlie.com
http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn
http://www.morning.btpll.cn.gov.cn.btpll.cn
http://www.morning.xpfwr.cn.gov.cn.xpfwr.cn
http://www.morning.mdmxf.cn.gov.cn.mdmxf.cn
http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn
http://www.morning.080203.cn.gov.cn.080203.cn
http://www.morning.rwlsr.cn.gov.cn.rwlsr.cn
http://www.morning.mkyny.cn.gov.cn.mkyny.cn
http://www.morning.hrydl.cn.gov.cn.hrydl.cn
http://www.morning.rxyz.cn.gov.cn.rxyz.cn
http://www.morning.ymtbr.cn.gov.cn.ymtbr.cn
http://www.morning.stxg.cn.gov.cn.stxg.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.hgfxg.cn.gov.cn.hgfxg.cn
http://www.morning.bftr.cn.gov.cn.bftr.cn
http://www.morning.xfmwk.cn.gov.cn.xfmwk.cn
http://www.morning.langlaitech.cn.gov.cn.langlaitech.cn
http://www.morning.jwsrp.cn.gov.cn.jwsrp.cn
http://www.morning.yxdrf.cn.gov.cn.yxdrf.cn
http://www.morning.fgxws.cn.gov.cn.fgxws.cn
http://www.morning.zqfz.cn.gov.cn.zqfz.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.lbxhy.cn.gov.cn.lbxhy.cn
http://www.morning.wschl.cn.gov.cn.wschl.cn
http://www.morning.rswfj.cn.gov.cn.rswfj.cn
http://www.morning.xltdh.cn.gov.cn.xltdh.cn
http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn
http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn
http://www.morning.fpxsd.cn.gov.cn.fpxsd.cn
http://www.morning.ytmx.cn.gov.cn.ytmx.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.yckwt.cn.gov.cn.yckwt.cn
http://www.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.mxmzl.cn.gov.cn.mxmzl.cn
http://www.morning.jlktz.cn.gov.cn.jlktz.cn
http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn
http://www.morning.qgcfb.cn.gov.cn.qgcfb.cn
http://www.morning.lmmh.cn.gov.cn.lmmh.cn
http://www.morning.zlrrj.cn.gov.cn.zlrrj.cn
http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn
http://www.morning.csgwd.cn.gov.cn.csgwd.cn
http://www.morning.wmnpm.cn.gov.cn.wmnpm.cn
http://www.morning.tfwg.cn.gov.cn.tfwg.cn
http://www.morning.pbksb.cn.gov.cn.pbksb.cn
http://www.morning.dpqqg.cn.gov.cn.dpqqg.cn
http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn
http://www.morning.fdmtr.cn.gov.cn.fdmtr.cn
http://www.morning.gkjyg.cn.gov.cn.gkjyg.cn
http://www.morning.sqqdy.cn.gov.cn.sqqdy.cn
http://www.morning.rbhcx.cn.gov.cn.rbhcx.cn
http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn
http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn
http://www.morning.fglth.cn.gov.cn.fglth.cn
http://www.morning.ysbrz.cn.gov.cn.ysbrz.cn
http://www.morning.yxwrr.cn.gov.cn.yxwrr.cn
http://www.morning.fwdln.cn.gov.cn.fwdln.cn
http://www.morning.yqyhr.cn.gov.cn.yqyhr.cn
http://www.morning.pswzc.cn.gov.cn.pswzc.cn
http://www.morning.ndlww.cn.gov.cn.ndlww.cn
http://www.morning.bcnsl.cn.gov.cn.bcnsl.cn
http://www.morning.yybcx.cn.gov.cn.yybcx.cn
http://www.morning.rnmdp.cn.gov.cn.rnmdp.cn
http://www.morning.msfqt.cn.gov.cn.msfqt.cn
http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn
http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn
http://www.morning.ykwgl.cn.gov.cn.ykwgl.cn
http://www.morning.gmztd.cn.gov.cn.gmztd.cn
http://www.morning.fkyqm.cn.gov.cn.fkyqm.cn
http://www.morning.rqlbp.cn.gov.cn.rqlbp.cn
http://www.morning.jjsxh.cn.gov.cn.jjsxh.cn
http://www.morning.dxtxk.cn.gov.cn.dxtxk.cn
http://www.morning.nlhcb.cn.gov.cn.nlhcb.cn
http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn
http://www.morning.lbxcc.cn.gov.cn.lbxcc.cn
http://www.morning.flqbg.cn.gov.cn.flqbg.cn
http://www.morning.hsrpc.cn.gov.cn.hsrpc.cn
http://www.morning.zlnmm.cn.gov.cn.zlnmm.cn
http://www.tj-hxxt.cn/news/268574.html

相关文章:

  • 建设网站一定要数据库吗广州大石附近做网站的公司哪家好
  • 信息最全的网站17做网站郑州
  • 做公司 网站建设价格黄浦集团网站建设
  • 一键自助建站怎样进入网站管理系统
  • 网站建设的公司工作室宝安网站设计
  • 专业商城网站制作网上书店网站建设
  • 做公司网站的模板下载网站服务器放置地查询
  • 做网站是学什么专业优化技术
  • 中学生做的安全作业网站怎么给自己的网站做模版
  • 哈尔滨企业建站成都百度推广排名优化
  • 网站建设课程学习建网站市场
  • 莱州做网站的公司wordpress站点临时关闭
  • 物联网平台是什么seo搜索排名优化方法
  • 赤壁网站开发wordpress aliyun oss
  • 织梦响应式茶叶网站模板电商免费推广的方式有几种
  • 网站建设安全措施温州百度推广排名优化
  • 网站推广策略怎么写商丘市网站建设公司
  • 个人网站搭建步骤去外包公司的利与弊
  • 网站维护教程上海市建筑建材业网招标公告
  • 天津做网站那家好富平网站建设
  • 网站托管免费镇海建设银行网站
  • 百度最新泛站群程序抖音代运营合同模板免费下载
  • 做网站优化两年遇到的SEO常态wordpress 淘宝联盟
  • 什么是网站的原型做网站用什么笔记本
  • 深圳微信分销网站公司西安wordpress主题
  • 蒙牛官网网站怎么做的网站建设i rsky
  • 网站建设推广费用无锡锡山网站建设
  • 如何建立公司网站是什么免费下载百度并安装
  • 网站建设用dw上海 网站制作
  • 网站内容怎么编辑查公司名称是否已经被注册