当前位置: 首页 > wzjs >正文

铁路建设标准网站网站如何做微信支付

铁路建设标准网站,网站如何做微信支付,爱企查官网,做的好微信商城网站引言:什么是记忆化搜索 记忆化搜索算法是为优化递归运算而产生的,因为简单的递归实现通常存在严重的效率问题。以斐波那契数列为例,计算 fib(50) 需要约1.5万亿次递归调用!这种指数级的时间复杂度使得简单递归在实际应用中几乎无…

引言:什么是记忆化搜索

记忆化搜索算法是为优化递归运算而产生的,因为简单的递归实现通常存在严重的效率问题。以斐波那契数列为例,计算 fib(50) 需要约1.5万亿次递归调用!这种指数级的时间复杂度使得简单递归在实际应用中几乎无法使用。记忆化搜索正是为了解决这个问题而诞生的优化技术。

一、记忆化搜索的核心思想

记忆化搜索是一种结合递归算法缓存机制的优化技术。其核心思想是:存储已计算的结果,避免重复计算相同的子问题

基本实现步骤:

  1. 创建存储结构(数组、哈希表等)保存计算结果

  2. 递归调用前检查结果是否已计算

  3. 若已计算则直接返回结果

  4. 若未计算则正常递归,存储结果后返回

二、斐波那契数列:记忆化搜索的经典示例

#include <iostream>
using namespace std;long long memo[10001]; // 记忆化存储数组long long fib(int n) {if (memo[n]) return memo[n]; // 已计算则直接返回if (n <= 2) return 1; // 基本情况long long res = fib(n - 1) + fib(n - 2); // 递归计算memo[n] = res; // 存储结果return res;
}int main() {int n = 50;cout << "fib(" << n << ") = " << fib(n) << endl;return 0;
}

性能对比:

方法计算fib(40)时间时间复杂度
普通递归~1.3秒O(2^n)
记忆化搜索<1毫秒O(n)

三、扩展练习,w(a,b,c)问题分析

1.问题描述

对于一个递归函数w(a,b,c)
①如果a≤0 or b≤0 or c≤0就返回值1.
②如果a>20 or b>20 or c>20就返回 w(20,20,20)
③如果a<b并且b<c 就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)
④其它的情况就返回w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1)

输入格式:
输入若干行,以-1,-1,-1表示结束
保证输入的数在[-9223372036854775808,92233720368547758071之间并且是整数。
输出格式:
输出若干行,每一行格式
w(a, b, c)= ans
注意空格。
输入样例:1 1 1
                  2 2 2
                 -1 -1 -1

输出样例:w(1,1,1)=2 
                  w(2,2,2)=4
 

2.问题特点

  1. 多重递归调用:每个分支产生3-4个子调用

  2. 参数范围大:输入范围[-2^63, 2^63-1]

  3. 大量重复计算:如w(15,15,15)会被多次调用

  4. 边界条件复杂:需处理负数和超大值

3.记忆化搜索实现w(a,b,c)

#include <iostream>
using namespace std;int memo[21][21][21] = {0}; // 记忆化存储数组int w(long long a, long long b, long long c) {// 边界条件处理if (a <= 0 || b <= 0 || c <= 0) return 1;if (a > 20 || b > 20 || c > 20) return w(20, 20, 20);// 检查是否已计算if (memo[a][b][c]) return memo[a][b][c];// 递归计算int result;if (a < b && b < c)result = w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c);elseresult = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1);// 存储结果memo[a][b][c] = result;return result;
}int main() {long long a, b, c;while (cin >> a >> b >> c) {if (a == -1 && b == -1 && c == -1) break;cout << "w(" << a << ", " << b << ", " << c << ") = " << w(a, b, c) << endl;}return 0;
}

4.关键优化点:

  1. 参数范围压缩:通过规则2将>20的参数映射到[0,20]

  2. 三维记忆数组:memo[21][21][21]覆盖所有有效组合

  3. 边界优先处理:先处理特殊情况避免不必要的递归

  4. 记忆化检查:优先返回已计算结果

四、记忆化搜索与动态规划的关系

记忆化搜索常被称为"自顶向下的动态规划",而传统动态规划是"自底向上"的。

特性记忆化搜索动态规划
实现方式递归+缓存迭代填表
计算顺序按需计算全部计算
空间使用可能更少通常固定
代码复杂度更直观更系统
适用场景状态转移复杂状态转移规则

"记忆化搜索让递归算法保留了优雅性,同时获得了接近动态规划的效率。" - 算法导论

五、记忆化搜索的适用场景

  1. 重叠子问题:问题包含大量重复计算

  2. 最优子结构:问题可分解为相似子问题

  3. 状态空间有限:参数范围可管理

  4. 递归结构清晰:问题自然适合递归描述


文章转载自:

http://JzV2kcHm.gxqpm.cn
http://cumOt02y.gxqpm.cn
http://OLfAi90j.gxqpm.cn
http://yHgD7XUT.gxqpm.cn
http://HMXRpjpd.gxqpm.cn
http://KurninI0.gxqpm.cn
http://WcewDoHP.gxqpm.cn
http://qDTL3Nje.gxqpm.cn
http://ZkIwvDHg.gxqpm.cn
http://IWVpDcmJ.gxqpm.cn
http://UnfpqR4m.gxqpm.cn
http://6XVJSDd7.gxqpm.cn
http://tXKys4W0.gxqpm.cn
http://91k0SjfQ.gxqpm.cn
http://ejso3MIC.gxqpm.cn
http://2Dve9bpJ.gxqpm.cn
http://bXvVbc5w.gxqpm.cn
http://f2yUYwWD.gxqpm.cn
http://BaJ7brXZ.gxqpm.cn
http://8qoU0H3o.gxqpm.cn
http://tfxbv8gx.gxqpm.cn
http://QxB2Tee4.gxqpm.cn
http://vBrFE1MA.gxqpm.cn
http://Pam24VaO.gxqpm.cn
http://pCn9OW7Y.gxqpm.cn
http://12dz20QZ.gxqpm.cn
http://Tzw10o03.gxqpm.cn
http://32ZHTsHz.gxqpm.cn
http://CVI0QHLM.gxqpm.cn
http://4GSEg1Dl.gxqpm.cn
http://www.dtcms.com/wzjs/725293.html

相关文章:

  • wordpress jetpack 使用郑州seo优化顾问
  • 做网站的收费网站title修改
  • 石家庄制作网站四川盼之网络科技官网
  • 淘宝网站优化实例网站域名是指什么意思
  • 机票酒店网站建设会计可以做网站么
  • 如何查询网站接入商做一斗地主网站多少钱
  • 金华在线制作网站连云港优化网站团队
  • 做建筑机械网站那个网站好wordpress 修改页面链接地址
  • 公司网站建站要多少钱一年排名优化工具
  • 视频网站东单网站建设
  • asp 大型网站开发徐州鸿美网站建设
  • 河南省内 在哪个网站做商检表北京seo网站优化公司
  • 茂名专业做网站郑州网站公司哪家好
  • 潍坊网站建设壹品网络百度关键词搜索怎么收费
  • php网站开发视频教程下载苏州旅游网站设计
  • 做分类信息网站如何制作网站一般使用的软件有哪些
  • 中天建设集团网站全屏网站设计技巧
  • 杭州网站建设公司上海的所有公司
  • 凡科建设网站安全吗现在1做啥网站流量大
  • diywap手机网站系统本科软件开发专业
  • 网站服务内容填网站建设可以做电商设计在哪个网站接单
  • 使用vue做简单网站教程安徽六安特产有哪些
  • 制作一个响应式网站开发工具室内设计公司排行榜济宁
  • wordpress设置自动更新西安网站建设seo优化
  • Wordpress网站防止采集2014 网站建设
  • 做包装一般看什么网站怎么看别人网站怎么做的
  • 博客导入wordpress西安seo网站关键词优化
  • 大连开发区网站制作建设公司r语言做网站
  • php网站建设安装环境天津网站建设-中国互联
  • 北京市网站制作公司如何搭建一个企业子账号网站