- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOI2004 国家集训队论文 李锐喆
细节——不可忽视的要素
广东北江中学 李锐喆
【关键词】细节 时间复杂度 算法
【摘要】一个再好的算法,如果在细节处理上不当,也会成为一个“垃圾算法”。
但是人们往往在重视算法整个宏观实现的时候,却往往忽略了一些细节上的东
西。本文通过列举细节处理优劣对算法实现的影响,以及分两个方面来阐述细节
处理优劣对算法时间复杂度的影响,并举了三个比较典型的例子,旨在强调这个
往往会 人忽视的细节。
【目录】
一、引论 2
二、基本不影响算法时间复杂度的细节处理 2
〖例1〗线性表维护 2
三、影响到算法时间复杂度的细节处理 5
〖例2〗银河英雄传说(NOI2002 第一试第一题) 5
〖例3〗铁路 7
四、总结 10
参考文献】 10
参考程序】 10
〖例1〗线性表维护 10
第1 页 共17 页
IOI2004 国家集训队论文 李锐喆
【正文】
一、引论
在程序设计中,算法是最核心的部分,往往一个优秀的算法能够取得比其他算法好的多
的效率,但是在追求更好的算法的时候,我们往往会忽视算法中的一些细节处理。
在很多时候,我们自认为用到了最优的算法,但效果往往不尽如人意,为什么呢?细节!
往往是细节上的一些瑕疵,导致算法的关键地方时间效率低下,甚至导致算法的时间复杂度
远远高于正常的情况,最为严重的后果是导致整个算法的错误。
所以,我们说,细节在程序设计中是相当重要的。借用哲学原理来说,细节是算法这个
整体的关键部分,而这个关键部分往往会对算法这个整体的性能状态起决定作用。按照对算
法的影响的性质和程度,我把细节分为这几种情况:
1. 基本不影响算法的时间复杂度的细节处理。这类细节处理对时间复杂度没有根本性
的影响,仅仅对时间复杂度的系数产生影响。
2. 影响到算法的时间复杂度的细节处理。这类细节相当隐蔽,往往不为人所注意。但
是这种细节对算法的影响相当大,处理得好与处理得不好往往会使程序的时间效率
有质的区别。
3. 影响到算法正确或错误的细节处理。这类细节影响最大,在竞赛中很多选手在某些
题目中已经找到解决方法却不能通过全部测试数据,往往就是这类的细节处理得不
当导致。
第三种情况大家都肯定感受颇深,要讲的话也必然是长篇大论,这里就不再赘述了。下
面,我们主要对前两种情况分别进行分析讨论。
二、基本不影响算法时间复杂度的细节处理
这类细节对算法影响不算太大,但往往在关键的时候,时间复杂度的系 的大小对算法
的效率也是有比较明显的影响的。例如对于某个细节,用方法A 来处理的时间复杂度为O(n) ,
而方法B 来处理的时间复杂度为O(2n) (这里为了方便描述,在复杂度式中加入不需要加的
系数),如果用方法A 来处理整个算法的时间消耗为1s,那么用方法B 来处理整个算法的时
间消耗就为2s !因此,尽可能地优化细节处理,从而使算法的时间复杂度的系数降低到一个
比较低的程度。
下面我们通过一个例子来看看对这类细节的处理:
〖例1〗线性表维护
给出一个以字符串为数据类型的线性表,以及相应的若干个维护操作的规则,编写一个
程序,模拟线性表的维护操作。
定义一个浮动指针,指向要处理的线性表元素。
定义四种对线性表的操作:
操作1:插入。在线性表末尾插入数据。
操作2:移动指针。把浮动指针向后移若干个单位。
操作3:删除。删除从浮动指针所指元素开始的若干个元素。
操作4:输出。输出浮动指针所指位置的元素。
为了便于程序实现,程序从line.in输入数据,并把输出结果输出到 line.out中。输入
第2 页 共17 页
IOI2004 国家集训队论文 李锐喆
数
您可能关注的文档
最近下载
- 妇产科专业质量控制标准(医疗质量控制标准).pdf VIP
- 直升机系统-2(王华明--03)说课讲解.ppt VIP
- 肝性脑病患者护理查房.pptx VIP
- 小学生自制课本剧提升语文表达能力教学研究课题报告.docx
- 人教版八年级上册数学期中考试试题带答案.docx VIP
- 2025至2030全球及中国太空发射服务行业市场深度研究及发展前景投资可行性分析报告.docx VIP
- 爱国卫生知识竞赛题库(试题及答案).docx VIP
- 世界油页岩干馏技术.ppt VIP
- 小学英语三年级上册 Unit 6 Happy birthday! 第3课时分层作业 Part A Letters and sounds.docx VIP
- 2021年“华为杯”第十八届中国研究生数学建模竞赛题目D:抗乳腺癌候选药物的优化建模优秀论文范例含源代码(共五篇).pdf VIP
文档评论(0)