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

整合营销的案例seo快速排名软件网站

整合营销的案例,seo快速排名软件网站,江西省城住房和城乡建设厅网站,wordpress中文免费主题目录 一、递归问题 1、斐波那契数列 2、汉诺塔问题 3、全排列问题 4、整数划分问题 二、递归式求解 1、代入法 2、递归树法 3、主定理法 三、 分治问题 1、二分搜索 2、大整数乘法 一、递归问题 1、斐波那契数列 斐波那契数列不用过多介绍#xff0c;斐波那契提出…目录 一、递归问题 1、斐波那契数列 2、汉诺塔问题 3、全排列问题 4、整数划分问题 二、递归式求解 1、代入法 2、递归树法 3、主定理法 三、 分治问题 1、二分搜索 2、大整数乘法 一、递归问题 1、斐波那契数列 斐波那契数列不用过多介绍斐波那契提出的繁殖兔子问题。 斐波那契递推式如下 斐波那契代码 //斐波那契数列 import java.util.Scanner; public class Fibonacci {public static void main(String [] args){int inputnew Scanner(System.in).nextInt();System.out.println(factorial(input));}public static int factorial(int n){if(n0||n1)return 1;else{return factorial(n-1)factorial(n-2);}} }2、汉诺塔问题 汉诺塔问题也是一个经典问题。一般分为三个步骤 1把n-1个盘子从A柱移到B柱 2把最底层1个盘子从A柱移到C柱 3把B柱n-1个盘子移到C柱。 完整代码  package RecursionAndDivide; import java.util.Scanner; public class Hanoi {public static void main(String[] args){int inputnew Scanner(System.in).nextInt();move(input,A,B,C);} public static void move(int n,char a,char b,char c){if(n1)System.out.println(a-c); //else {move(n-1,a,c,b); //n-1个从a移到bmove(1,a,b,c); //底层1个从a移到cmove(n-1,b,a,c); //n-1个从b移到c}} } 3、全排列问题 使用递归的方式输出数组中的全排列步骤如下 0判定是否数组中仅有一个数那么输出该排列形式。请注意k作为固定头在每一层进行修改排列顺序的头部 1首先将第一个数与后面的每一个数进行交换这是一个k到m的循环。得到 1,2,3,4,...,n 2,1,3,4,...,n 3,1,2,4,...,n 2计算除第一个数以外后面的全排列。 3交换第一个数与刚刚那个数使数组恢复。 k作为固定头m作为尾一直不改变i作为固定头与循环中交换的数的索引。固定头依赖于第几层递归不同的递归只会改变数组排列的方式不会改变长度而尾不动所以每次输出只需要输出0到m索引的数组数也就是所有数组的数。 完整代码 //全排列问题 public class Permutations {public static void main(String [] args){int []list{1,2,3,4,5};int k0;int mlist.length-1;Perm(list,k,m);} //产生全排列public static void Perm(int []list,int k,int m){if(km) {for(int i0;im;i)System.out.print(list[i]);System.out.println();}else{for(int ik;im;i){swap(list,i,k); Perm(list,k1,m);swap(list,i,k);}}}//交换数组中两个元素public static void swap(int []list,int i,int k){int templist[i];list[i]list[k];list[k]temp;} }4、整数划分问题 整数划分问题就是把一个正整数拆分成若干个正整数相加的所有方式也可以使用递归来求解。定义p(n)为正整数n的划分总个数q(n,m)为正整数n划分为最大值为m的划分总个数。 有以下递归式成立 完整代码  public class IntegerDivide {public static void main(String[] args){System.out.println(q(6,6));}public static int q(int n, int m){if((n1)||(m1)) //且和或一样或的话出现q(1,2)会执行条件2返回q(1,1)return 1;if(nm)return q(n,n);if(nm)return 1q(n,n-1);return q(n,m-1)q(n-m,m);} } 二、递归式求解 1、代入法 一般来说如果递归式成倍数下降可以n取指数形式平衡递归式的麻烦。换元求解就是不断回带递归式最后得到T1项忽略其他换元回变量n的项。 2、递归树法 递归树法就是将常数项逐层展开成树叶子结点的形式并将每一层的量相加的总和为递归式的解。如下面这个题根节点就是递归式中的常数项n-1每一层叶子点个数就是子递推式的系数为2叶子结点的量只用n/2换元上一节点的量得到n/2-1以此类推那么递推树如下。 计算递推式每一层的和注意最后一层以1为结束当使用替代时请注意层数变化最后一层是。那么总和如下记得要用n替换k 对于这一类递归树有偏重的题可以参照下面这个做法找到最慢下去的叶节点路线就是大O的复杂度。 3、主定理法 主定理方法有一定局限性最没有局限性的是代入法但是很麻烦。 三、 分治问题 1、二分搜索 二分搜索原理 1初始数组是已经排好序的目的是某个数值是否存在并找到他的索引否则返回-1。 2大循环满足左值小于等于右值每次取中间值判断中间值是否为给定数值若是返回索引。 3判断是否小于中间值若是右值等于mid-1判断是否大于中间值若是左值等于mid1。 4如果不满足循环条件还没有找到给定值那么返回-1。 二分搜索算法的复杂度为Ologn应该建立在已排好序的数组上如果为了搜索而去排序复杂度就大大提升了。 //二分搜索 public static int Search(int arr[],int x,int n){int left0;int rightn-1;while(leftright){int mid(leftright)/2;if(xarr[mid])return mid;if(xarr[mid])leftmid1;else rightmid-1;}return -1;} 2、大整数乘法 由于大整数本身就会出现精度丢失问题另外乘积数过大也会出现数值溢出的问题。所以可以用数组存储大整数进行两个数组之间的乘法。 另外高复杂度Omn也是不能忽视的问题可以通过大整数拆成两段将中间二次计算的环节存入内存来减少复杂度。 比如下图X和Y都为n为二进制整数计算它们的乘积可以拆分成两个相等的n/2位的结构。 根据上面的式子改变BD这一项就重复计算了乘法计算的次数整体不变但是BD可以不用二次计算了这样就可以减少一次乘法计算6次乘法变为5次乘法。 复杂度相比于也有所降低。 相类似的矩阵乘法也可以用这种方式降低时间复杂度成为Strassen矩阵乘法。
http://www.laogonggong.com/news/110620.html

相关文章:

  • wordpress全站使用cdn外包开发一个app多少钱
  • 深圳开发公司网站婚纱官网
  • asp网站开发实例pdf上海技术网站建设
  • 关于校园网站建设的建议gta5卖公司显示网站正在建设中
  • 局部刷新 文章列表 wordpress做网站seo的公司哪家好
  • wap网站开发价钱做竞价网站需要什么样的空间
  • 网站登录模版 下载登录wordpress的网址
  • 做wps的网站赚钱门户网站 商城系统
  • 档案网站建设经验广告公司名字大全创意
  • 临沂手机网站信息推广技术公司电话wordpress文库
  • 做影视网站违法wordpress搭建虚拟主机
  • 校园网站制度建设闵行网站制作公司
  • 电子商务网站建设指导书生成器
  • 排名好的徐州网站开发上海百度移动关键词排名优化
  • 火车头采集做网站赚钱建设部网站造价咨询
  • 网站的规划与设计织梦网站统计代码
  • 天天网站建设写软文是什么意思
  • 如何给企业做网站公司小程序如何申请
  • 网站开发php有哪些微信软文模板
  • 书画协会网站建设网站文案标准格式
  • 微信公众平台 网站开发怎么选一个适合自己的网站
  • 上海建设厅是哪个网站平台戚里带崇墉炊金馔玉待鸣钟
  • o2o商城网站建设方案上海宣传片拍摄的公司
  • 电子商务网站开发费用调研报告中山 环保 骏域网站建设专家
  • 中国建设银行信用卡旅游卡服务网站品牌推广型网站
  • 在线培训网站怎么做物流网站免费模板
  • 夏邑好心情网站建设有限公司阳山网站建设
  • 备案后可以修改网站吗网站设计与制作是网页吗
  • 网站建设需要哪些硬件软文价格
  • 个人怎么做微信公众号和微网站吗爱站网长尾词挖掘工具