算法对软件开发性能优化探析.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

算法对软件开发性能优化探析

摘要:文章分析了算法对程序时间和空间方面的的性能优化。在软件开发过

程中,算法发挥着至关重要的作用,可以为程序的性能方面奠定基础。针对计算

机科学领域内的一些问题,可以通过算法对其进行总结和归纳,尽可能使用数学

方式计算。作为一种算法思想,在解决一些实际应用方面的问题,一个优秀的

算法可以大大提高程序的速度,大大提高用户体验。在软件开发的过程中借助算

法可以对编程过程进行优化,使程序更为简便,发挥出算法的基础价值。

关键词:算法;软件开发;分析

信息化时代下,软件开发属于发展主要产物。计算机在各个领域内都得到了

有效使用,计算机技术的不断升级主要是因为计算机内部程序在持续优化,其中

速度和时间是衡量一个程序是否需要优化的条件。因此这时为了提高开发出软件

的质量,因此应该借助算法提升使用效率,针对软件内存在的问题进行解决。

1.贪心算法分析

贪心算法,顾名思义就是重点在于“贪心”,着眼于当前情况下的问题进行

分析,每次选择眼前最大的那一个解,即当前最好的选择。因此带来的问题就是

贪心算法不能保证最后的解是最优的,并且它不能用来求解最大值,最小值问题。

下面给出贪心算法的一般结构:

设n个程序集合为D={1,2,3…,n},其中每个程序都需要使用相同资源,且

在相同时间内只有一个程序可以使用该资源,而每个程序u都具有使用资源的固

定时间si和结束时间fi,sifi。假如活动u,那么这时在半开时间区间[si,

fi)内占用资源。在[si,fi)与区间[si,fj)不相交,那么这时程序i和j是

相容的,若si=fj,sj=fi的时候,程序i与j相容。

为了对上述内容进行验证,计算机代码为:

#include

#include

#include

Usingnamespacestd;

Structnode

{

Intstart

Intend

}a[11111];

Boolcmp(nodex,nodey)

{

If(x.end

Elseif(x.ens==y.endx.starty.start)returntrue;

Returnfalse;

}

intmain()

{

Intn,I,ans,end;

Cinn;

For(i=0,ia[i].starta[i].end;

Sort(a,a+n,cmp);

ans=0;

end=-1e9-100;

for(i=0;i0;i++){

ans++;

end=a[i].end;

}

}cout

Return0;

}

2.贪心算法在软件编程中的实例

程序优化过程中为了提升优化效率就需要采取较为高效的方式,针对算法的

客观评价可以分为时间复杂度和空间复杂度。针对相同问题来看,可以采取多种

[1]

方式获得解答,数学算法质量会对程序优化及计算效率产生一定的影响。所以

在编程的时候,对于算法的选择应该考量到算法效率,不可单纯追求简单计算,

应该使算法选择和编程有机结合,从而提升计算准确性。根据问题解决模型,在

基础编程方面进行实例分析:

这是一条ACM竞赛的题目,典型算法为贪心算法,题目为:有n个人正在饭

堂排队买海北鸡饭。每份海北鸡饭要25元。奇怪的是,每个人手里只有一张钞

票(每张钞票的面值为25、50、100元),而且饭堂阿姨一开始没有任何零钱。

请问饭堂阿姨能否给所有人找零?

从题目里面可以知道,50元和100元需要找钱,先满足找钱的条件,才能具

体的操作找钱。其中,50元需满足的找钱条件为:阿姨口袋中25元钱的个数=1;

100元需满足的找钱条件为:阿姨口袋中25元和50元各一张或者25元钱个

数=3;而25元不需满足找钱条件,由此可得到以下代码:

采取C++实施的编写后,计算机代码为:

#include

#include

#include

#include

#include

#include

usingnamespacestd;

inta[1000000];

intmain()

{

intn,i;

intmoney25=0;//阿姨口袋中25元的个数

intmoney50=0;/

文档评论(0)

霁色雨后气暧林 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档