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

电商眼/阳东网站seo

电商眼,阳东网站seo,江阴做网站优化,网站页头背景本节书摘来自异步社区《趣题学算法》一书中的第0章0.4节算法的正确性,作者徐子珊,更多章节内容可以访问云栖社区“异步社区”公众号查看。 0.4 算法的正确性解决一个计算问题的算法是正确的,指的是对问题中任意合法的输入均应得到对应的正确输出。大多数…

本节书摘来自异步社区《趣题学算法》一书中的第0章0.4节算法的正确性,作者徐子珊,更多章节内容可以访问云栖社区“异步社区”公众号查看。

0.4 算法的正确性
解决一个计算问题的算法是正确的,指的是对问题中任意合法的输入均应得到对应的正确输出。大多数情况下,问题的合法输入无法穷尽,当然就无法穷尽输出是否正确的验证。即使合法输入是有限的,穷尽所有输出正确的验证,在实践中也许是得不偿失的。但是,无论如何,我们需要保证设计出来的算法的正确性。否则,算法设计就是去了它的应用意义。因此,对设计出来的算法在提交应用之前,应当说明它的正确性。这就需要借助我们对问题的认识与理解,利用数学、科学及逻辑推理来证实算法是正确的。例如,对于解决“计算逆序数”问题的算法0-1,其正确性可以表述为如下命题:

当第3~7行的for循环结束时,count已记录下了序列A[1..N]中的逆序数。

如果我们能说明上述命题是真的,那就说明了算法0-1是正确的。由于数组A[1..N]的长度N是任意正整数,所以这是一个与正整数相关的命题。数学中要证明一个与正整数相关的命题有一个有力的工具——数学归纳法。下面我们对本命题中的N进行归纳。

当N=1时第3~7行的for循环重复0次。count保持初始值0,这与A[1..N]=A[1]没有任何逆序相符,结论显然为真。

设N>1且可用算法计算出A[1..N−1]的逆序数count。在此假设下,我们来证明对A[1..N]利用算法0-1也能得到正确的逆序数count。

考虑算法中第3~7行的for循环在j=N时的第一次重复的操作:第4~6行内嵌的for循环从i=1开始到j−1为止,逐一检测是否A[i]>A[j]。若是,意味着找到一个关于A[N]的逆序,第6行count自增1。当此循环结束时count中累积了关于A[N]的逆序数。由于N>1,故第3~6行的外围for循环必定会继续对A[1..N−1]做同样的操作。根据归纳假设,我们知道第3~6行的for循环接下来的重复操作能将A[1..N−1]中个元素的逆序数累加到count中。所以第3~6行for循环结束时,count已记录下了序列A[1..N]中的逆序数。

这样,我们就从逻辑上证明了算法0-1能正确地解决“计算逆序数”问题的一个案例,即算法0-1是正确的。

应当指出,解决一个计算问题时,算法不必唯一。数据的组织方式、解题思路的不同,会导致不同的算法。

例如,将计数器count设置为全局变量,并初始化为0。解决“计算逆序数”问题一个案例的算法还可以表示为如下的形式。

GET-THE-INVERSION(A, N)            ▷A[1..N]表示一个序列
1 if N<2
2     then return
3 for i←1 to N-1 
4   do if A[i]>A[N]                ▷检测到一个逆序
5     then count←count+1           ▷累加到计数器
6 GET-THE-INVERSION(A, N-1)

算法0-2 解决“计算逆序数”问题一个案例的递归算法伪代码过程

这是一个“递归”算法,它在定义的内部(第6行)进行了一次自我调用。受上述算法0-1正确性命题证明的启发,这个算法的思想是基于先计算出A[1..N-1]中关于A[N]的逆序数count,然后将问题归结为计算A[1..N-1]的逆序数的子问题。用相同的方法解决子问题(递归调用自身,注意表示A的长度的第2个参数变成N-1)把子问题的解与count合并就可得到原问题的解。其实,算法0-2与算法0-1仅仅是表达形式不同,本质上等价的:后者用末尾递归(第6行递归调用自身)隐式地替代算法0-1中第3~6行的外层for循环。所以,算法0-2也是正确的。

http://www.jmfq.cn/news/4975075.html

相关文章:

  • 响应式网站的设计趋势/太原百度搜索排名优化
  • 山东网站优化/快排seo排名软件
  • 郑州的网站建设公司/首页关键词怎么排名靠前
  • 企业网站设置/友情链接互换网站
  • 网站收录代做/如何设置友情链接
  • 赤峰网站开发公司/网店
  • 吴江网站建设/黑帽seo是什么意思
  • 天津市企业网站建设公司/seo做的好的网站
  • 装饰公司响应式网站建设案例/seo实战培训班
  • 陇南市城乡建设局网站/长沙百度搜索排名优化
  • 建设政府门户网站/集合竞价口诀背熟6句
  • 哪个网站开发培训好/福建网络seo关键词优化教程
  • 黄山网站开发jidela/如何网上免费打广告
  • 广州网站建设weeken/seo排名点击
  • 大尺度做爰网站/整合营销传播工具有哪些
  • 网站app怎么做/效果最好的推广软件
  • php对比java做网站/高端网站建设公司
  • 重庆欧勒精细陶瓷有限公司网站策划书/建网站用什么软件
  • 如何做网站推广及优化/国内十大搜索引擎排名
  • 建筑库/淄博搜索引擎优化
  • 做rap的网站/网络黄页推广大全
  • 长沙娱乐网站开发/seo怎么快速提高排名
  • 设计的好网站/谷歌竞价排名推广公司
  • logo智能设计/合肥网络推广优化公司
  • html 公司网站 代码下载/营销型网站策划书
  • 佛山网站建设价格/网络营销成功的原因
  • 凡客诚品鞋子/seo搜索引擎优化人员
  • seo建站优化价格表/个人免费网站创建入口
  • 做设计做网站/淘宝数据分析
  • 网站建设制作微商授权书/武汉网站建设