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

wordpress 504 gateway time-out引擎优化seo

wordpress 504 gateway time-out,引擎优化seo,头像字体图片制作,wordpress编辑器定义每一本数据结构和算法的教科书中,都不厌其烦的介绍了排序算法。不厌其烦的介绍10余种不同的排序。那么实际编程中用得到那么多排序算法吗?当然用不到。那么为什么全世界的教科书都这么写呢?显然是醉翁之意不在酒。 数组,是每个编…

每一本数据结构和算法的教科书中,都不厌其烦的介绍了排序算法。不厌其烦的介绍10余种不同的排序。那么实际编程中用得到那么多排序算法吗?当然用不到。那么为什么全世界的教科书都这么写呢?显然是醉翁之意不在酒。

数组,是每个编程语言中最基本最简单的数据结构。然而算法书告诉你,只要对它施加任何一种魔法规则,它立刻就分化出无数精细微妙的次结构。而这些次结构的拼装组合,又转化成最简单的数组结构。

直接上代码。注意以下展示的例子,为了揭示基本原理,都没有进行优化。读者可以对照算法书,一步一步观看它的对应的实际代码。因此具体原理这里就省略了。

首先是插入排序:

func insertsort(a[], n)
{for(i=1; i<n; i++) {t =a[i];j=i-1;while(j>=0) {if(a[j]>t) {a[j+1]=a[j];}else {a[j+1]=t;goto inc1;}j--;}a[0]=t;inc1:printa(a[],n);}
}

希尔排序是在插入排序的基础上,先用一些gap对数组预处理。通过这些处理,使插入排序中挪动数组的距离缩短,从而降低开销。如果一上来gap就取1,直接退化成插入排序:

func shellsort(a[], n)
{gap=n;for(gap/=2;gap>0;gap/=2) {for(i=1; i<n; i++) {t =a[i];j=i-gap;while(j>=0) {if(a[j]>t) {a[j+gap]=a[j];}else {break;}j-=gap;}a[j+gap]=t;}printa(a[],n);}
}

归并排序的gap是另一种用法,它通过gap分段,所以它的子数组的元素是挨着的。不像shell排序,子数组是跳开的。这些,正是算法书所告诉你的:你是程序员,每一个量,你都可以动。

func mergesort(a[], n)
{for(gap=1; gap<n; gap+=gap) {print "gap=",gap;m=0; j=0;next:i=j; j=i+gap;if(j>=n) goto copy;igap=i+gap;jgap=j+gap;if(jgap>n) jgap=n;while(i<igap&&j<jgap) {if(a[i]<=a[j]) {b[m++]=a[i++];}else {b[m++]=a[j++];}}if(i<igap){while(i<igap) b[m++]=a[i++];}else {while(j<jgap) b[m++]=a[j++];}if(j<n) goto next;if(m!=n) exception "error", m,n;
copy:copya(a[], b[], n); printa(a[], n);}
}

下面是例子的一点运行结果,感觉用解释程序是要比编译器省一点脑子:
func reset(a[]) {
a[] = {57,13,31, 18, 19, 9, 14, 71, 11,17,69,
7,3,2, 8, 97, 12, 4, 25, 1,21, 93};
}

func printa(array[], n)
{
while(i<n) print array[i++], “\b”;
print “END”;
}

func copya(array[], b[], n)
{
for(i=0; i<n; i++) array[i]=b[i];
}

reset(array[]);
for(i=0; array[i]; i++);
n=i;

insertsort(array[], n);
reset(array[]);
shellsort(array[], n);
reset(array[]);
mergesort(array[], n);

reset(array[]);
for(i=0; array[i]; i++);
n=i;

insertsort(array[], n);
13 57 31 18 19 9 14 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
13 31 57 18 19 9 14 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
13 18 31 57 19 9 14 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
13 18 19 31 57 9 14 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
9 13 18 19 31 57 14 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
9 13 14 18 19 31 57 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
9 13 14 18 19 31 57 71 11 17 69 7 3 2 8 97 12 4 25 1 21 93 END
9 11 13 14 18 19 31 57 71 17 69 7 3 2 8 97 12 4 25 1 21 93 END
9 11 13 14 17 18 19 31 57 71 69 7 3 2 8 97 12 4 25 1 21 93 END
9 11 13 14 17 18 19 31 57 69 71 7 3 2 8 97 12 4 25 1 21 93 END
7 9 11 13 14 17 18 19 31 57 69 71 3 2 8 97 12 4 25 1 21 93 END
3 7 9 11 13 14 17 18 19 31 57 69 71 2 8 97 12 4 25 1 21 93 END
2 3 7 9 11 13 14 17 18 19 31 57 69 71 8 97 12 4 25 1 21 93 END
2 3 7 8 9 11 13 14 17 18 19 31 57 69 71 97 12 4 25 1 21 93 END
2 3 7 8 9 11 13 14 17 18 19 31 57 69 71 97 12 4 25 1 21 93 END
2 3 7 8 9 11 12 13 14 17 18 19 31 57 69 71 97 4 25 1 21 93 END
2 3 4 7 8 9 11 12 13 14 17 18 19 31 57 69 71 97 25 1 21 93 END
2 3 4 7 8 9 11 12 13 14 17 18 19 25 31 57 69 71 97 1 21 93 END
1 2 3 4 7 8 9 11 12 13 14 17 18 19 25 31 57 69 71 97 21 93 END
1 2 3 4 7 8 9 11 12 13 14 17 18 19 21 25 31 57 69 71 97 93 END
1 2 3 4 7 8 9 11 12 13 14 17 18 19 21 25 31 57 69 71 93 97 END
reset(array[]);
shellsort(array[], n);
7 3 2 8 19 9 4 25 1 17 69 57 13 31 18 97 12 14 71 11 21 93 END
7 3 2 1 11 9 4 13 8 17 21 12 14 31 18 69 57 25 71 19 97 93 END
2 1 4 3 7 9 8 12 11 13 14 17 18 19 21 25 57 31 71 69 97 93 END
1 2 3 4 7 8 9 11 12 13 14 17 18 19 21 25 31 57 69 71 93 97 END
reset(array[]);
mergesort(array[], n);
gap= 1
13 57 18 31 9 19 14 71 11 17 7 69 2 3 8 97 4 12 1 25 21 93 END
gap= 2
13 18 31 57 9 14 19 71 7 11 17 69 2 3 8 97 1 4 12 25 21 93 END
gap= 4
9 13 14 18 19 31 57 71 2 3 7 8 11 17 69 97 1 4 12 21 25 93 END
gap= 8
2 3 7 8 9 11 13 14 17 18 19 31 57 69 71 97 1 4 12 21 25 93 END
gap= 16
1 2 3 4 7 8 9 11 12 13 14 17 18 19 21 25 31 57 69 71 93 97 END

http://www.zhongyajixie.com/news/36603.html

相关文章:

  • 女装网站建设在线发外链工具
  • 外贸网站搭建制作一个网站的流程有哪些
  • 有专门做预算的网站没域名注册服务网站哪个好
  • 学网站开发c网络营销推广方法和手段
  • 死循环网站软文发稿网站
  • 网站做的漂浮为什么不动企业网站设计与推广
  • 网站搭建哪家好电商大数据查询平台
  • 网站设计 网站开发 西安要怎么做网络推广
  • 怀化市住房与城乡建设厅网站电商网
  • 西宁公司网站设计百度百度百度一下
  • 在那些网站可以接兼职做注册查询网站
  • 网站数据库丢失seo公司运营
  • 网站开发于制作总结广点通推广登录入口
  • html5手机网站制作教程网页推广方案
  • jsp做物流网站网络营销优化推广
  • 做网站选云服务器内核营销客户管理系统
  • 山东规划 建设部门的网站爱网站
  • 房产网站建设哪家好网站做成app
  • 成都网页设计的网站建设南昌网优化seo公司
  • iis 网站 500百度搜索关键词
  • wordpress 付款查看科学新概念seo外链平台
  • 网站建立seo公司资源
  • 辽宁建设银行官方网站搜索引擎优化的流程是什么
  • 自己做网站挂广告大数据下的精准营销
  • 网站建设更新维护工作杭州关键词排名工具
  • 做a小视频免费观看网站佛山做网站的公司哪家好
  • 天河网站建设系统外链群发平台
  • 做网站如何免费注册网站有哪些
  • 霍山县网站建设公司网站seo怎么做
  • 青海省住房和城乡建设厅的官方网站如何做网销