记忆化搜索简介「建议收藏」

记忆化搜索简介「建议收藏」记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来,以后再次遇到这个状态的时候,就不必重新求解了。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

记忆化搜索:算法上依然是搜索的流程,但是搜索到的一些解用动态规划的那种思想和模式作一些保存。
一般说来,动态规划总要遍历所有的状态,而搜索可以排除一些无效状态。
更重要的是搜索还可以剪枝,可能剪去大量不必要的状态,因此在空间开销上往往比动态规划要低很多。
记忆化算法在求解的时候还是按着自顶向下的顺序,但是每求解一个状态,就将它的解保存下来,
以后再次遇到这个状态的时候,就不必重新求解了。
这种方法综合了搜索和动态规划两方面的优点,因而还是很有实用价值的。

这种方法做题有时比动态规划还简便。

下面是一个记忆化搜索的例题:


爬楼梯

有一个n阶的楼梯,每一次可以上1阶或2阶,有多少种方法?

#include<stdio.h>

long long x[10010],y[10010];
long long Mesch(int i) //Mesch 为 Memory search 记忆化搜索 
{
	int j;
	if(i==1) return 1;
	if(i==2) return 2;
	if(y[i]>0) return y[i]; //记忆化搜索 
	y[i]=Mesch(i-1)+Mesch(i-2);
	return y[i]; 
}
int main()
{
	int n;
	scanf("%d",&n);
	printf("%I64d",Mesch(n));
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/164451.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据结构——HashMap

    数据结构——HashMap众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。HashMap数组每一个元素的初始值都是Null。对于HashMap,我们最常使用的是两个方法:Get和Put。1.Put方法的原理调用Put方法的时候发生了什么呢?…

    2022年5月12日
    41
  • navicate15 激活码_在线激活

    (navicate15 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0VOERWDQ5R-eyJsaWN…

    2022年3月31日
    131
  • reaver使用方法

    reaver使用方法闲话少叙使用方法:airmon-ngstartwlan0//启动mon0监控reaver-imon0-bMAC-a-S-vv//普通用法如果,90.9%进程后死机或停机,请记下PIN前四位数,用指令:reaver-imon0-bMAC-a-vv-pXXXX(PIN前四位数)其他命令airodump-ngmon0用来扫描周

    2022年6月4日
    62
  • SDN基本概念

    SDN基本概念

    2021年4月15日
    224
  • @Android属性动画完全解析

    @Android属性动画完全解析转载:http://blog.csdn.net/guolin_blog/article/details/43536355在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始

    2022年7月3日
    21
  • Linux常用命令总结(mysql数据库常用命令)

    熬夜爆肝Linux集合,还不收藏?

    2022年4月16日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号