oGuaiShuShu12345678 2016-08-29 13:19 采纳率: 0%
浏览 2903

算法的空间复杂度和时间复杂度哪个更重要呢

通常我们在解决一个问题时都有多种方案,但是每个方案各有优劣,往往占用内存更高的,效率也更高,但是内存又很昂贵。面对时间复杂度和空间复杂度,如何抉择呢?

  • 写回答

4条回答 默认 最新

  • hijack00 2016-08-29 13:52
    关注

    一般考虑算法的时候,更多的是指时间复杂度。其实现在内存这种计算资源相比于以前已经很廉价了。以前进行嵌入式开发一般用汇编,用C语言生成的代码往往更大,不利于嵌入式应用场景。但是,随着存储空间越来越多,使用C语言也没有什么不可以了。甚至现在有人直接用C++做嵌入式开发。
    所以现在总体的趋势是,对空间复杂度的要求往往都不会太高,而对时间复杂度一般都会提出要求。所以一种常见的策略就是以空间换取时间。例如,将更多的程序运行的中间结果缓存在内存中,这样无疑比每次写入文件下次再从文件读取更有效率。
    就我目前了解到的情况,一般在应聘面试时一般可能会对空间复杂度做出要求。例如,将一个数组反序输出,一种常见的方案是借助栈来实现。但是如果面试官规定不许利用额外的空间,那这种方式就不能用了。

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?