- Big O notation
O(1): Constant Complexity
常数的话我们都可以将其表示为o(1)
O(n)线性的时间复杂度
执行的次数随着n的改变而成线性关系,比如n=1,代码执行1次,n为2时,代码执行2次, 等等
嵌套循环的话,比如说2个for循环嵌套,当其中的n 为100时,这时候的话总共就会执行10000次,这样的话它的时间复杂度就为O(n^2)
如果说是for循环是嵌套的话这时它的时间复杂度就为O(Kn)k为常数,当然我们可以忽略k,称其时间复杂度为O(n)
O(log(n))
for (int i =1;i <n; i = i2){
system.out.println(“nihao:” +i)
}
思考题:
二叉树遍历-前序,中序,后序:时间复杂度是多少?
每个节点会访问一次且仅访问一次,故时间复杂度线性于二叉树的节点总数,即O(n)的时间复杂度
图的遍历:时间复杂度是多少?
图里面的每一个节点访问一次且仅访问一次,故时间复杂度为O(n)。这里的n 为图里面的节点总数。
搜索算法:DFS(深度优先),BFS(广度优先)时间复杂度是多少呢?
因为访问节点都是一次,故时间复杂度为O(n),n为搜索空间里的节点总数。
二分查找:时间复杂度?
O(log(n))
时间复杂度 空间复杂度
最新推荐文章于 2024-07-17 12:13:29 发布