当前位置:   article > 正文

时间复杂度和空间复杂度分析_二叉树操作时间性空间性分析

二叉树操作时间性空间性分析

一、时间复杂度
1.最常见的时间复杂度(注意:只看最高复杂度的运算)
O(1):常数复杂度;
O(log n):对数复杂度;——>for循环或者while循环中与n的乘阶有关
O(n):线性时间复杂度;——>单循环
O(n^2):平方;——>嵌套循环
O(n^3):立方;
O(2^n):指数;——>递归计算斐波拉契数列
O(n!):阶乘;
2.递归时间复杂度分析(画出树的分析树)
在这里插入图片描述

每增加一层就要增加2^n次运算;
a.使用主定理来计算递归函数的时间复杂度
二分查找:O(logn);
二叉树的遍历:O(n):每个节点都需要访问一次;
排好序的二维矩阵中进行二分查找:O(n)
归并排序:O(nlogn)
3.常见面试题
a.二叉树遍历,前序、中序、后序的时间复杂度
都是O(n)
b.图的遍历的时间复杂度
O(n)——>将遍历树或者图中的每一个节点,并且每一个节点只访问一次;
c.搜索算法(DFS、BFS的时间复杂度是多少)
O(n)
二、空间复杂度
主要是看算法在运行过程中需要创建多少个与n变量相关的临时变量;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号