复杂度分析
第一节 Big O notation:0)比如有一个数组array[ ]={1,2,3,4}
1) 那么我要查找这个数组当中的一个元素的时间复杂度就是1,用O(1)表示,因为计算机在进行查找时就是一瞬间的事,就好比某一个医院有10万个病房,我要查找某一个病房的信息,那么我只要告诉院长:“我要找100000号病房的信息” 就行了。
2)如果我要对这个数组求和,那么对于数组当中的每一个元素,我都要查找一遍(就像医院查房,每个病房都要查一遍),也就是遍历,那么这种情况下的时间复杂度就是N,用O(N)表示,如下图所示:
3)再举一个例子(可能有点离谱,但是这是Frank的原话)
如下图所示:
有男女两方,现在我要求女方当中的每一个人都要与男方当中的每一个人搞一次,那么请问他们一共艹了多少次?
这就是一个很简单的数学问题,如果男女两方都有100人,那么一共就上了100的平方次,也就是10000次。
综上所述,对于这样的一个数组,它的时间复杂度就是N的平方,用O()表示。
第二节:复杂度对比函数图