java算法:实验和实现分析
在设计和开发算法时,通过对对象操作分层来帮助理解所解决的计算问题的本质。要脚踏实地用一种实际的编程语言java来表达所有的算法。java语言简洁、准确的实现了大量重要且有效的算法。
为了理解算法的性能,最初的步骤就是进行试验分析。给定两个算法,评估优劣性,所采用最简单的方法:运行这两个算法,看哪个运行的时间短。在算法研究中,运行时间可能会被忽略。但是,一个算法运行花费时间的是另一个算法运行花费时间的十倍,这个事实不可能被人忽略,除非,时间小到极致。一个程序可能要运行很久,这就需要数学分析了,数学分析是一个很好的工具,如果数学分析结果发现,这个算法需要运行几年,甚至几个世纪,显然,这个算法太没有效率了,而这,就证实了数学分析的正确性。
在实验分析时,首要条件就是要有一个正确、完整算法的实现,否则就不能进行实验分析了。而这个过程显然是复杂、困难的,要花费相当大的时间代价。
在实验分析时,再者就是确定输入数据的准确性以及对实验有影响的其他因素。对于数据的输入:使用实际数据、随机数据、非法数据。
比较算法性能的时候,需要在同等的情况下,进行分析,要保证运行、测试的环境的一致性。如,相同的机器,编译器或系统,数据等。对于每个算法的实现需要给予足够的重视。
最后的方式就是,在基础算法上修改,再进行比较,这样研究的合法性才能得到保障。
在处理问题的时候,很多人更愿意选择简单的算法而忽略了算法的性能。复杂的算法由于更需要花费时间、仔细的思考而被放弃,但是它带来的性能效率是非常大的。
实验分析带来的好处也是巨大的,更能直观地分析算法的性能、有效性以及价值。