位置: 编程技术 - 正文

PHP实现基于回溯法求解迷宫问题的方法详解(php返回对象)

编辑:rootadmin

推荐整理分享PHP实现基于回溯法求解迷宫问题的方法详解(php返回对象),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php回调函数怎么写,php返回值,php 返回数据,php结果以什么形式返回,php返回数据给前端,php回调函数怎么写,php回调函数怎么写,php 返回数据,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了PHP实现基于回溯法求解迷宫问题的方法。分享给大家供大家参考,具体如下:

引言

最近在leetcode上看了些算法题,有些看着很简单的很常用的东西,竟然一下子想不出来怎么求解,比如说:实现sqrt函数,求数组的排列。如果高数学的不好,这些看似简单的问题,第一次碰到也会感觉很难求解,当然了,今天要说的是这样一个问题,求解迷宫的所有解,这个问题的求解用到了回溯法的思想,不了解这个思想的话,很多稍微复杂点的问题都很难解了。

问题描述

这个问题是在实在瞎逛的时候碰到的,具体哪里记不太清了。

1 1 1 1 0 1 0 1 1 1

上面是一个迷宫,左上角是入口,右下角是出口,小萌(对,你没看错,是长了草的小明)从入口进入,从出口逃出(1个小时逃不出会被X怪物吃掉),其中1表示可以通行,0表示不能通行,只能向右和向下两个方向走,求出所有的小萌可能逃生的路线。

这个问题看似挺简单,一下就可以看到答案,但是将思想翻译为代码却不知道从何入手了。

PHP实现基于回溯法求解迷宫问题的方法详解(php返回对象)

如何解决

解决这个问题的一种方案就是回溯法,先一起看看回溯法(百度百科)的定义:

回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。

我的思路:

1. 对上面的迷宫进行坐标化,左上角是(0,0),右下角是(3,3),其他点分散在坐标系中2. 从(0,0)开始3. 从给定的坐标点开始,先向右搜索,是1的话继续,是0的话向下搜索,搜索前记录当前已经搜索过的坐标4. 当坐标等于(3,3)的时候就是一个回溯点了,这个时候也返回5. 只要不越界,重复第三步骤

看看我的PHP实现:

输出结果

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》

希望本文所述对大家PHP程序设计有所帮助。

PHP实现执行外部程序的方法详解 本文实例讲述了PHP实现执行外部程序的方法。分享给大家供大家参考,具体如下:在一些特殊情况下,会使用PHP调用外部程序执行,比如:调用shell命令

PHP编程之微信公众平台企业号验证接口示例【回调操作】 本文实例讲述了PHP微信公众平台企业号验证接口。分享给大家供大家参考,具体如下:微信公众平台企业号验证接口、回调PHP版,本人为了解决这个企

php编程实现追加内容到txt文件中的方法 本文实例讲述了php编程实现追加内容到txt文件中的方法。分享给大家供大家参考,具体如下:覆盖txt文件内容:$filename="aa/a.txt";$handle=fopen($filename,"w");$st

标签: php返回对象

本文链接地址:https://www.jiuchutong.com/biancheng/287511.html 转载请保留说明!

上一篇:PHP基于Closure类创建匿名函数的方法详解(php类的使用)

下一篇:PHP实现执行外部程序的方法详解(php实现执行外部操作)

  • 记账更改的方法
  • 促销费用计入销售费用哪个科目
  • 税控盘抵扣可以跨年吗
  • 事业单位有那种
  • 查看企业用什么软件
  • 税控盘备案在电子税务局操作流程
  • 不动产租赁发票怎么开
  • 政府补贴的内容
  • 农产品增值税进项税额核定扣除试点实施办法
  • 房租发票上税的分录怎么写?
  • 代发工资开票内容
  • 调试阶段是什么意思
  • 买体育彩票收银配比是多少
  • 营业额包括增值税吗
  • 母公司向分公司收取管理费
  • 免税项目进项税为什么不可以抵扣
  • 普通发票税收
  • 生产型企业原材料出入库处理
  • 以前年度未申报的专项附加扣除
  • 防伪税控技术维护费怎么申报
  • 应付福利费科目
  • 硬盘损坏类型
  • Linux中samba服务区怎么创建多个用户
  • 实收资本属于会计准则吗
  • 银行账户销户余额转入另外的公司账户分录
  • macOS Big Sur 11.3 开发者预览版/公测版 Beta 6正式发布
  • 金融资产减值的账务处理
  • 预计负债的所得税怎么算
  • php yield 异步
  • echarts饼图标题
  • 奥克拉库克湾
  • php编程获取音频信息
  • 自行建造厂房如何缴税
  • 搬迁补偿费属于什么费
  • php大于等于号怎么打
  • vue中的组件
  • 差旅费用不用交税
  • 先计提所得税还是先结转成本
  • 增值税发票认证在哪里
  • 6月收到4月的单子怎么办
  • python requests读取服务器响应
  • Python变量中forain
  • 拆迁支出包括哪些
  • python输出inf
  • 机器学习——果蔬分类
  • 运输行业一般纳税人开普票税率是多少
  • 错开发票所需要提供的资料和时效要求是?
  • 改签费可以进项转出吗
  • 百旺金赋怎么开红字发票
  • 营业执照注销要钱吗
  • Transactional replication(事务复制)详解之如何跳过一个事务
  • 电脑bak文件怎么打开
  • 资产减值损失科目
  • 预交一年的房租怎么做账
  • 现金日记账退款怎么记账
  • 什么是内部报酬吗
  • 递延所得税资产和负债怎么理解
  • 劳务分包企业收入怎么算
  • 稳岗补贴会计分录怎么做,需要缴纳企业所得税不
  • mysql经典书
  • sql语句查询有多少条数据
  • Windows平台下被支持最好的音频格式
  • win7防火墙如何添加允许
  • win7系统怎么合并分区
  • win10 Realtek HD Audio更新失败怎么办 win10关闭UAC解决Realtek HD Audio更新失败
  • Windows Server 2008下 驾驭拨号上网
  • win7装vmware
  • linux命令i
  • win101909消费者版是什么意思
  • win7系统还能用不
  • Jquery ajax 同步阻塞引起的UI线程阻塞问题
  • javascript中cookie
  • 安卓开发过程中的问题
  • javascript判断题
  • 复杂的字
  • 动态创建类对象
  • python3获取本机ip
  • 河北省职称证书电子版
  • 润泽一词出自哪里
  • 曲靖市国家税务局杨春天
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设