本文共 426 字,大约阅读时间需要 1 分钟。
由于之前没有进入计算机专业,所以对于时间复杂度一直了解的不多,现在需要在oj平台上提交题目,开始的时候动不动就会提示Time Exceed Limited,于是开始研究时间复杂度,获得结论如下:
先说总体结论,对于一般oj平台,时间复杂度为几百万时一般可以通过,为几千万时部分可以通过,上亿后很难通过,所以我们一定要考虑好时间复杂度的问题
对于for循环等循环形式,一个循环块复杂度就为O(N)。假如从一个100位的数组中查找一个元素,用for循环遍历数组,那么复杂度就为O(100)。如果对这个数组进行冒泡排序,显然,复杂度为O(N * N),为O(10000)。
对于排序方法,冒泡排序是我目前知道的时间复杂度最大的排序方法,是O(N * N)。我目前知道的时间复杂度最小的排序方法是c++中的sort函数所调用的排序方法,时间复杂度是O(N * logN)
对于数组存取元素,如果从数组中提取相应元素(位置已知),则复杂度为O(1)。
转载地址:http://pcugf.baihongyu.com/