# 1.请你总结如何计算算法时间复杂度+空间复杂度。
- 时间复杂度: 大O复杂度表示法 T(n) = O(f(n))
- (1) 只关注循环执行次数最多的一段代码
- (2) 加法法则:总复杂度等于量级最大的那段代码的复杂度
- (3) 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积
- (4) 有二分查找 则为O(logN)
- (5) 系数可忽略 深度优先遍历(DFS) 和广度优先遍历(BFS) 时间复杂度:O(V+E) 空间复杂度:O(V)
- 空间复杂度 O(1):常数级 O(n): 一维数组 O(n^2): 二维数组
# 2.什么是栈?JavaScript中有哪些栈的具体应用?
栈是一种遵循先进后出的数据结构 栈有很多使用场景,如函数执行调用栈,表达式中缀转后缀,数组的push、pop方法就是运用栈的思想。