优化时间和空间效率

在算法最优的情况下,空间换时间或者时间换空间。

时间效率

  • 编程习惯对代码的时间效率有很大影响
  • 即使同一个算法用循环和递归两种思路实现的时间效率可能会不大一样。递归的本质是把一个大的复杂问题分解成两个或者多个小的简单的问题。如果小问题有重叠的部分,可以在分析问题时用递归的思路,但实现时用动态规划。
  • 代码的时间效率还能体现应聘者对数据结构和算法功底的掌握程度。要对常见的数据结构和算法了然于胸。
  • 应聘者在面试的时候要展现敏捷的思维能力和追求完美的激情,要很快想到最直观的的算法,然后再进行优化。

时间效率与空间效率的平衡

  • 通常在解题时,可以分配少量的辅助空间来保存计算的中间结果以提高时间效率。
  • 需要平衡时间和空间,具体问题要具体分析,可以和面试官探讨。