1.概念
对数:
对数是对求幂的逆运算,正如除法是乘法的倒数。log2 16: 16/2=8/2=4/2=2/2=1。
时间复杂度:
算法A T(n) = 100n 算法B T(n) = 5n2 取决n的值。渐进时间复杂度。
空间复杂度:
跟数据结构有关系。
遍历一个数组里面 重复出现次数。 借助散列表hashmap,key 与 value ,记录出现次数。 O(n)遍历 一次 就能解决了。
存储算法是常量O(1). 开辟一个一维数组O(n), 二维数组O(n2);递归空间使用栈存储。
O(1) :只需遍历一次
O(n):遍历N次
O(n2):外层遍历N次 里层遍历N次 两个for循环
O(log(n)):
O(2^n):
O(n!):
2.物理结构与逻辑结构
物理结构:数组和链表 两种
逻辑结构: 栈(数组和链表都能实现)、队列、树
推荐书籍:
<<剑指Offer>>