1. 不能简单的看语句的执行次数,时间复杂度才是评判标准。有时候粗看一种方案的某些语句执行较少,但实际上在大量数据操作时,时间复杂度便会较高。
2. 空间复杂度并不是简单的累加,而是要考虑算法执行过程中空间所能达到的最大用量。
3. 对固定的分支进行暴力搜索,一般会导致指数时间。组合算法一般有阶乘时间。
4. 具有线性对数时间的算法是很快的。
5. 一般应该避免使用线性空间以上复杂度的算法,除非用空间的牺牲能换来更大的时间降低。
6. 通常使用的二分查找 mid = (low + high) / 2,在元素个数较多时,会引起溢出问题。应该使用 mid = low + (high - low) / 2。