算法创作|如何评价算法

问题描述在我们解决问题时,我们可以通过许多的途径去实现。而在这过程中,我们所用的途径可能是正确的或错误的,也有可能是简单或复杂的。同样,我们在编写算法时,会出现以上情况。例如编写1到100求和问题的Python代码时,就会出现不同的算法。不同的算法意味着好坏之分,意味着每个算法的效率、处理速度等等不同,因此我们就要从算法评价标准方面入手。用简洁明了的算法去实现问题的结果。解决方案算法的评价标准分别为正确性、可读性、健壮性以及高效性(时间复杂度、空间复杂度)。在评价算法当中,要通过四个标准的验证。倘若一一验证成功,这才能证明算法的优劣。首先、验证算法的正确性。正确性指算法是否正确,是否能实现我们所要的结果。其二、可读性。这指的是编写的算法是否易于他人明白理解,是否让他人懂得其中逻辑,是否能够进行修改等。其三、则是健壮性。健壮性指算法本身处理异常数据的能力。倘若算法能够很好的处理异常数据,并且处理能力强,则意味着算法健壮性好。最后,高效性。分别为时间复杂度和空间复杂度,即计算算法在执行过程中所用的时间和内存的多少。若是在评价中前三个大致相同,那么算法的高效性可以评价不同算法谁更占优势。例如:计算1到100求和问题:第一种;sum=0i=1repeat   sum=sum+1I=i+1until i<=100return sum第二种;sum=0for i in range(1,101)sum=sum+ireturn sum第三种;sum=(1+100)*100/2在上述算法中,根据算法的四个评价标准判断,我们可以得出第三种算法更加好。结语本文主要围绕如何评价算法这一问题展开。在学习过程中,我们发现在评价算法中的空间复杂度和时间复杂度的计算中,我们任有些许地方不够了解,以及不能很好的计算。同时在编写代码中,不能熟练的掌握。实习编辑:王晓姣作者:钟妍、杨月涵、欧恒丽

(0)

相关推荐

  • 【数据结构与算法】第2章-算法

    总结: 算法的定义: 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每一条指令表示一个或者多个操作. 算法的特性: 输入.输出.有穷性.确定性.可行性. 算法的设计要求: 正确 ...

  • 算法创作|神奇语言问题解决方法

    问题描述一位同学正在学习一门神奇的语言,其中的单词都是由小写英文字母组成,有些单词很长,而这位同学一直记不住,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现的最多来分辨单词,现在请帮助这位同学 ...

  • 算法创作|规则数列计算解决方法

    问题描述如下图所示,小明用从 1 开始的正整数"蛇形"填充无限大的矩阵.1 2 6 7 15 -3 5 8 14 -4 9 13 -10 12 -11 --(1)容易看出矩阵第二行 ...

  • 算法创作|阶梯电价问题解决方法

    问题描述为了提倡居民节约用电,某省电力公司执行"阶梯电价",安装一户一表的居民用户电价分为两个"阶梯":月用电量50千瓦时(含50千瓦时)以内的,电价为0.53 ...

  • 算法创作 | 0到n-1中缺失的数字问题解决方法

    问题描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0-n-1之内.在范围0-n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字.示例1:输入:[0,1,3 ...

  • 算法创作|找出游戏的获胜者问题解决方法

    问题描述共有 n 名小伙伴一起做游戏.小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号.确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i ...

  • 算法创作 | 二叉树遍历问题解决方法

    问题描述二叉树的先序遍历.中序遍历.后序遍历怎么求?解决方案给你一个二叉树(如图)那么怎么找出它的先序遍历.中序遍历.后序遍历呢?我们先看一个简单二叉树来了解它的概念. 所谓前序,中序,后序就是指根所 ...

  • 算法创作|烂头背枪双人情况游戏随机模拟

    问题描述对于烂头背枪这个游戏,相信00后的同学并不陌生,这是幼时的回忆,这个游戏本身,有烂头,枪,虎,人,鸡,蜂总共六种角色,每种四个.对应规则为烂头背枪,枪打虎,虎吃人,人养鸡,鸡啄蜂,蜂叮烂头,前 ...

  • 算法创作|“画雪人”问题解决方法

    问题描述示例:运用Turtle画出一个戴帽子的雪人在你门前,我堆起一个雪人,代表笨拙的我,把你久等...解决方案掌握turtle库,you can do you want.代码清单 1 DFS求解1到 ...

  • 算法创作|打家劫舍

    问题描述在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根".除了"根"之外,每栋房子有且只有一个&q ...