如何验证算法的好坏,判断一个算法的优劣需要考虑的几个方面
如何评价一个算法的好坏?算法的好坏评测也被称为算法的性能分析,那么如何评价一个算法的好坏呢?由于针对一个问题可能会有不同的算法去解决,不同的算法思路不同,有的执行起来会很慢,效率很低,有的执行起来会很快,效率自然会很高。这样,就出现了算法的好与坏之分,如何衡量一个算法的好坏,通常要从以下几个方面来分析,正确性,算法能满足具体问题的需求,即对任何合法的输入,算法都会得出正确的结果。

算法创建后由人来阅读、理解、使用以及修改,所以可读性的好坏直接影响到算法的好坏。如果一个算法涉及的想法很多,人就会糊涂,那么这个算法就不能更好地交流和推广使用,自然对修改、扩展、维护就更不方便所以要提高算法的可读性,让其简明易懂。健壮性。一个程序编译完成后,运行该程序的用户对程序的理解各有不同,并不能保证每一个人都能按照要求进行输入。

算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。评价算法的好坏的因素:·算法是正确的;·执行算法的时间;·执行算法的存储空间(主要是辅助存储空间);·算法易于理解、编码、调试。**************************************************************************************************************时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。

评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、k次方阶O(n^k)、指数阶O(2^n)。

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。
3、如何判断PID算法的好坏?比如你的控制器件是蒸汽阀,温控器出来的信号给蒸汽阀,开启相应的阀度。想看干扰效果,就调整阀开度和给定信号不一致,如给定信号类别为420MA型,信号值为10ma,阀门实际为全关,那么在这样的干扰下,看PID运行是否能运行到给定值变为20ma,做以上的研究并无多大意义,PID本身就是为抗中间环节干扰而设计,想看PID参数设置是否优化,最好的办法是将控制目标换成易达到设定值的那种,看PID的曲线是否为标注的大小波。
除非注明,文章均由 白起网络 整理发布,欢迎转载。