- 什么是算法:
定义:指一个有限的集合,如果按其执行,可以完成某一特定任务;(就是为了解决一个特定问题的步骤) - 算法所要满足的条件:
1) 输入:你总得给我东西我才能算吧
2)输出:你(机器)总得告诉我结果吧,总不能让我猜吧,那我要你干啥
3)确定性:每条指令都是清晰无歧义的
4)有穷性:总不能没完没了的一直算吧;
5)有效性:你说的天花乱坠,机器却一脸懵逼; - 性能分析(先验评估、后验评估):
1)空间复杂度:指它运行结束时所需要的内存
2)时间复杂度:一个程序需要的时间(编译时间和运行时间之和)
对于时间复杂度来说,只关心其数量级,而不关系其具体时间
例如:若程序所用时间为n2 + n + 2 ,则时间复杂度为O(n2);
算法学习笔记,供日后查看且仅代表自己的理解