大三备战考研,如何高效找实习并掌握20道必会的时间复杂度题?

摘要:最近在准备 考研 + 找实习,复习数据结构的时候发现一件事: 很多同学会写代码,但一问 时间复杂度 就开始沉默。 比如: for(i=0;i<n;i++) for(
最近在准备 考研 + 找实习,复习数据结构的时候发现一件事: 很多同学会写代码,但一问 时间复杂度 就开始沉默。 比如: for(i=0;i<n;i++) for(j=0;j<n;j++) 时间复杂度是多少? 有人说 O(n²),没问题。 但如果稍微变一下: for(i=1;i<n;i*=2) 很多人就懵了。 而实际上,时间复杂度是考研和面试的高频考点。 所以我整理了 20 道经典时间复杂度题,难度不高,但非常有代表性。 如果你是: 准备 考研408准备 找实习面试或者 想打好数据结构基础 建议认真看一遍。
一、什么是时间复杂度? 简单来说: 时间复杂度就是:算法执行次数随着输入规模 n 增长的变化趋势。 我们一般用 大 O 表示法(Big-O) 表示。 常见复杂度排序: O(1)常数级 O(logn)对数级 O(n)线性级 O(nlogn) O(n²) O(n³) O(2^n) O(n!) O(n^n) 效率从高到低依次下降。
阅读全文