数据结构
文章平均质量分 58
紫薯C菌
recording...
展开
-
算法的空间复杂度
空间复杂度(王道笔记) —>空间开销(内存开销)与问题规模n之间的关系 程序运行时的内存需求: 例一 1.程序代码所占内存(这部分内存大小固定,与问题规模无关) 2.局部变量,参数等 最后算的总和就是空间复杂度,和时间复杂度类似,都按阶数来看S(n)=O(1) (注:如果是常数级的,则可以称算法原地工作) 这里要说明的是,无论问题规模怎么变,算法运行所需的内存空间都是固定的常 量 例二 例三 例四(函数递归调用产生内存开销) 1. 2. ...原创 2021-07-07 16:09:43 · 201 阅读 · 0 评论 -
算法的时间复杂度(王道笔记)
首先解释下时间复杂度为什么得在运行前估计,主要原因有以下几点: 大家的机器性能不同,同样的程序不同机器跑出来时间不一样 使用的编程语言不同,往往越高级的语言效率越低,例如Java效率就要比C低,因为Java是更高级的语言 和编译程序产生的机器指令质量有关 有些事情是不能去事后统计的,例如重要军事的精确测量 我们估算法的时间复杂度,事实上是要探求算法时间开销T(n)与问题规模(n)的关系—>T=T(n) 举个栗子 //算法一 void loveyou(int n){ //n为问题规模 i原创 2021-07-07 11:10:25 · 892 阅读 · 0 评论