摘要: 有时候根据不同的要求,算法的目的可能是计算特定值,也可能是返回某个要求的全部可能的值。 递归就是完全不去控制执行过程的一种算法,如果返回全部可能的值,就极大可能重复执行之前的已有操作。 动态规划则是利用一种数据结构,通常可能是列表,保存中间运行的值,减少已经执行的运算,或者根据列表内容剔除将要执行的 阅读全文
posted @ 2023-07-23 08:12 时间羚羊 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 通常关注时间复杂度, 对于常数阶和循环次数不变的时空复杂度,就不过多介绍了。 递归的时间复杂度: 对于只调用一次自身且递归次数程常数阶减少的递归,比如: void fun(int n) { if(n == 0) { return; } n--; return fun(n); } 它的时间复杂度是O( 阅读全文
posted @ 2023-07-23 07:45 时间羚羊 阅读(8) 评论(0) 推荐(0) 编辑