标签:
这个是每个学习算法都必须掌握的东西、不过感觉又不太好说的清楚、
大概扯一下、就是因为每个计算机的运行的速度都不一定相同、所以需要一个标准来判断一个程序跑的快慢、
比如一个简单的for循环、for(int i = 0; i < n; i++); 这个循环其实循环了n次、可能在不同的机器上跑的时间不同、
但是都一定会跑n次、所以用O(n)来表示这个循环的时间复杂度、
再举一个例子
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
}
}
这个程序会跑n*n次、所以它的时间复杂度为O(n^2)、
其实还有两外两种渐进符号表示复杂度的方式、但做为一个工科生、决定就这样吧、(其实主要是我上课没有认真听、自己也似懂非懂)
除了时间复杂度之外还有一个空间复杂度的东西、就是表示程序所用内存的大小、
大概这些都是一些理论的东西、书上都有的、而且做题做多了自然就悟了。。。。悟了。。。
标签:
原文地址:http://www.cnblogs.com/A1Dark/p/4584398.html