嵌入式软件面试笔试重点总结.docxVIP

  • 9
  • 0
  • 约2.53万字
  • 约 24页
  • 2018-12-31 发布于浙江
  • 举报
形参是放在栈里面吗? 变量都是放在栈里的,不同的变量放在不同的栈里;类中的变量,放在类的栈里,所以只要这个类不存在了,类的栈pop掉了,类中的变量也就没用了;方法中的变量放在方法的栈里,所以只要这个方法执行完了,方法的栈pop掉了,方法中的变量也就没用了代码块中的变量放在代码块的栈里,所以只要这个代码块执行完了,代码块的栈pop掉了,代码块中的变量也就没用了。 时间和空间复杂度 对于给定的一个算法,要做两项分析,第一是从数学上证明算法的正确性,第二是分析算法的时间复杂度。 在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为O(1),另外,在时间频度不相同时,时间复杂度有可能相同,如T(n)=n2+3n+4与T(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为O(n2)。 按数量级递增排列,常见的时间复杂度有:常数阶O(1),对数阶O(log2n),线性阶O(n),?线性对数阶O(nlog2n),平方阶O(n2),立方阶O(n3),..., k次方阶O(nk),指数阶O(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。 常见的算法时间复杂度由小到大依次为:Ο(1)<Ο(log2n)<Ο(n)<Ο(nlog2n)<Ο(n2)<Ο(n3)<…<Ο(2n)<Ο(n!) 求解算法的时间复杂度的具体步骤是:   ⑴ 找出算法中的基本语句;

文档评论(0)

1亿VIP精品文档

相关文档