美文网首页
一个好的算法该如何测评

一个好的算法该如何测评

作者: das112 | 来源:发表于2020-04-05 22:12 被阅读0次

首先要明确算法的特性(连这些特性都没用就不用测评了)

1.要有输入输出

2.有穷性(有限的执行步骤内完成)

3.确定性(代码执行的结果唯一)

4.可执行性

接下来就是衡量算法的一些标准

1.正确性(代码可运行、不报错)

2.可读性(该有的注释要有的)

3.健壮性(例:输入错误要有相应的提示)

4.时间复杂度和空间复杂度。

时间复杂度:大O表示法,(大O表示法计算的是最坏的情况的时间复杂度,当大O表示法相同时可计算平均情况的时间复杂度)

空间复杂度: 程序空间计算因素:

 1. 寄存本身的指令

 2. 常数

 3. 变量

 4. 输入

 5. 对数据进行操作的辅助空间

在考量算法的空间复杂度,主要考虑算法执行时所需要的辅助空间(大O表示法)

注:

大O表示法

1. 用常数1取代运行时间中所有常数 3->1 O(1)

 2. 在修改运行次数函数中,只保留最高阶项 n^3+2n^2+5 -> O(n^3)

 3. 如果在最高阶存在且不等于1,则去除这个项目相乘的常数 2n^3 -> n^3

复杂度排序:O(1) < O(log n) < O(n) < O(nlog n) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn)

相关文章

网友评论

      本文标题:一个好的算法该如何测评

      本文链接:https://www.haomeiwen.com/subject/paopphtx.html