作者:Flyingis
算法作为实现计算机程序实现时解决问题的方法,在计算机应用领域发挥着举足轻重的作用。它研究的内容是解决问题的方法,而不是计算机程序的本身。一个优秀的算法可以运行在比较慢的计算机上,但一个劣质的算法在一台性能很强的计算机上也不一定能满足应用的需要,因此,在计算机程序设计中,算法设计往往处于核心地位。如何去设计一个适合特定应用的优秀算法是众多开发人员所关注的焦点,在算法设计时,需要了解算法设计的规则。<o:p></o:p>
要想充分理解算法并有效地应用于实际问题,关键是对算法的分析。通常我们可以利用实验对比分析、数学方法来分析算法。实验对比分析很简单,两个算法相互比较,它们都能解决同一问题,在相同环境下,哪个算法的速度快我们一般就会认为这个算法性能更好。数学方法能将算法分析的更为细致,能在严密的逻辑推理基础上判断算法的优劣,但在完成实际项目过程中,我们很多时候都不能去做这种严密的论证与推断,因为我们不是在完成一道数学难题,也不是数学领域的专家,将大量的时间花费在公式的计算与证明上会导致整个项目进度缓慢、成本过高,因此,在算法设计中,我们往往采用能近似表达性能的方法来展示某个算法的性能指标。例如,计算机对n2和n2+2n的响应速度,当n比较大的时候几乎一样没什么区别,我们便可直接认为后者算法的复杂度为n2。在分析算法时,隐藏细节的数学表示法成为大O记法,它可以帮助我们简化算法复杂度的许多细节,提取主要成分,这和遥感图像处理中的主成分分析思想相近。<o:p></o:p>
基于算法复杂度简化表达的思想基础上,我们通常会对算法进行最坏情况分析和平均情况分析。对于一个给定的算法,如果能保证它的最坏情况下的性能依然不错当然很好,但是在某些情况下,程序的最坏情况算法的运行时间和实际情况的运行时间相差很大,在实际应用中我们几乎不会碰到最坏情况下的输入,那么此时进行最坏情况分析显得有些画蛇添足,特别是分析最坏情况算法会花费大量精力的时候。算法的平均情况分析可以帮助我们估计程序的性能,作为算法分析的基本指标之一,但是平均情况和实际情况仍然会有相差很大的时候,这时我们便可以使用随机法来尽量模拟现实中的情况,这样可以得到在严格的概率意义上的预测运行时间。另外,对于一个经典算法,我们没有必要再去对该算法进行改进,研究它的上界和下界,只需要了解该算法的特性,然后在合适的时候使用它。<o:p></o:p>
最后,当一个程序变快和变慢,让计算机反映出来的时间差几乎不会让人产生感觉的时候,我们也没有必要去改进这个算法,例如程序进行1000次循环花费0.001秒,改进后为0.1秒,在实际应用中通常也只需要几千次循环,此时我们就没有必要去花时间来研究这个算法了,只要该算法能正确完成任务即可。<o:p></o:p>
分享到:
相关推荐
算法是分析方法的具体实现,首先详细介绍了基于关联规则分析的Apriori算法、FP-growth 算法和Eclat算法,并通过对比这些算法在不同数据集的运行结果,分析了算法各自的优缺点及其适用领域,同时探讨了各个算法的优势...
基于关联规则的数据挖掘算法分析.pdf
Apriori关联规则挖掘算法分析与改进
人工智能-机器学习-关联规则分析-Apriori算法实例-挖掘电影导演的关联规则
算法是解某一特定问题的一组有穷规则的集合。 一些基本的算法
基于Java的关联规则数据挖掘算法分析(包含源代码+论文) 基于Java的学生社团管理系统设计(包含源代码+论文)
关联规则下的数据挖掘算法分析.pdf
计算机算法分析与设计 计算机算法分析与设计(共33张PPT)全文共33页,当前为第1页。 学习目标 掌握算法分析与设计的基本理论 掌握进行算法分析与设计的基本方法(时间、空间复杂度分析,算法正确性的证明) 掌握...
10.2 关联规则算法原理 10.3 分层搜索经典算法-Apriori算法 10.4 并行挖掘算法 10.5 增量更新挖掘算法 10.6 多层关联规则挖掘 10.7 多维关联规则挖掘 10.8 约束性关联规则挖掘 10.9 数量关联规则挖掘 10.10 负关联...
数据挖掘中改进的Apriori关联规则算法分析.pdf
算法是分析方法的具体实现,首先详细介绍了基于关联规则分析的Apriori算法、FP-growth 算法和Eclat算法,并通过对比这些算法在不同数据集的运行结果,分析了算法各自的优缺点及其适用领域,同时探讨了各个算法的优势...
提出了关联规则挖掘形式化定义以及它的基本算法,从关联规则挖掘角度对当前流行的隐私保护关联规则挖掘算法进行了深入浅出的分析和介绍,最后系统回顾了目前人们在数据挖掘领域中对隐私保护关联规则研究的现状,阐述...
入侵检测系统中规则匹配算法的分析与改进,适合研究该领域的人参考
PDF格式的基于关联规则挖掘算法的分析型CRM的设计与实现(参考1)论文!
数据挖掘关联规则算法数据集
五子棋AI算法分析,计算机博弈技术,规则判断
基于关联规则映射的生物信息网络多维数据挖掘算法分析.pdf
自己写的数据挖掘 关联规则 Apriori算法 matlab实现 分了许多个文件 结构清晰
关联规则的经典算法,fp_growth算法,利用fp_tree来将事物空间进行划分。