时间复杂度
第二个是嵌套的循环
第一个时间复杂度是O(N)
第二个时间复杂度是O(1)
面试四件套
(1)和面试官确认题目是什么意思
(2)像有多少种解决办法,并且同时分析程序的时间复杂度和空间复杂度
(3)找到最优的解法
(4)测试结果
斐波那契额数列
时间复杂度怎么计算,这个是一个递归问题,递归就是要不断地调用函数,一直重复进入函数,可以画一个树状图来表示:
可以看出节点数是按照指数级增长的,所以写代码的时候一定不可以直接写递归,要用一个内存把数据缓存下来
简单的思考:
二叉树的遍历每个节点都会访问一次,并且只访问一次,
一维数组二分查找是O(log(n)),二维排好序的数组是O(n),归并排序O(nlogn)
上面的时间复杂度都是O(n)