700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 考研数据结构必须掌握的知识点

考研数据结构必须掌握的知识点

时间:2020-05-11 22:17:19

相关推荐

考研数据结构必须掌握的知识点

1.时间复杂度比较(及空间复杂度)

时间复杂度判断理论:O(1) <= O(log2(n)) <= O(n) <= O(n*log2(n)) <= O(n^2) <=...<=O(n^k) <= O(2^n)

空间复杂度判断理论:

注意:一个字节8位二进制数。

个人成长路程

阶段一:看到一个程序能够很快看到它的算法的时间复杂度(最大时间复杂度)。

阶段二:能够就算出每一部分的(时间复杂度)最大时间复杂度。

阶段三:能够精确的找到可以优化的步骤并找到合适的方式进行优化。

阶段四:找到全部可以优化的步骤,用你自己所学的最好的方式进行优化,充分考虑时间复杂度,和空间复杂度。

遇到的问题:

例子:求出下列算法的时间复杂度。

void fun(int n){int i = 1, j = 100; //空间为 8个字节while( j < n ){//时间为 n次循环 ++j;i+=2;}}分析:第一步:找出基本操作,确定规模na:找基本操作(基本操作就是其重复执行次数和算法的执行时间成正比的操作)重复最多的(最大时间复杂度)++j;i+=2;b:确定规模,基本操作执行的次数。i < n;循环执行的操作和n有关,因此参数n就是规模n。第二步:计算出n的函数f(n)i 初值为 1 i+=2则时间复杂度为:n/2, 因此时间复杂度为:n。

必须要练习的题目:你所遇到的所有算法题都要进行分析。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。