位置: 编程技术 - 正文

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实现执行外部操作)

  • 年报补交企业所得税如何写会计分录
  • 进料加工为什么要差额确认收入呢
  • 小规模增值税税率表2023年最新版
  • 淘宝网店女装
  • 应交税费应交印花税借方有余额
  • 企业筹建期间利息支出税前扣除怎么算
  • 信息技术费如何做账
  • 所得税季报利润表怎么填
  • 完税凭证和发票一起打印
  • 材料折扣率
  • 库存商品检验合格标准
  • 一般纳税人有什么优惠政策
  • 商品编码选错税务会直接罚款吗?
  • 预售 首付
  • 增值税专用发票和普通发票的区别
  • 关于小规模纳税人
  • 建筑企业结转成本依据准则
  • 房子报废
  • 成品油生产企业税务风险
  • windows10如何关闭病毒和威胁防护设置
  • 微信占用空间大是怎么回事
  • 购入成品油怎么做会计分录
  • 银行提取备用金会计分录
  • php ajax json
  • 快启动u盘装系统教程
  • 多台电脑如何共享一台惠普打印机
  • 本月营业利润
  • 退回以前年度多交的附加税怎么做分录
  • 其他权益工具投资公允价值变动计入什么科目
  • nvm切换node版本后node -v报错
  • 强制缓存与协商缓存的区别
  • curl命令上传文件到服务器
  • php的输出语句
  • 售后租回交易形成融资租赁,销售时不确认处置损益
  • 职工慰问金账务处理流程
  • 财务报表没有申报会影响领发票吗
  • 主营业务收入和营业外收入的区别
  • 蔬菜免税分录
  • Python函数怎么返回
  • mysql5.7.32安装
  • 产权转移数据印花税纳税期限
  • 企业卖地收入会计处理
  • Windows7下Microsoft SQL Server 2008安装图解和注意事项
  • 出口免抵额需要加交付地方附加税吗
  • 待处理财产损益借方增加还是减少
  • 车船税应计入税金及附加吗
  • 借递延所得税资产贷递延所得税费用
  • 原材料的主要账务处理
  • 小规模纳税人退税账务处理
  • 暂估入库的账务处理含税吗
  • 增值税一般纳税人企业对同属于增值税
  • 新会计制度固定资产折旧账务处理
  • 建筑企业城建税和教育费附加怎么算
  • 代理进口货物如何确定增值税纳税人
  • 企业职工福利费可用于职工的医疗卫生费用
  • 暂估应付账款余额调整
  • 认证的进项退税怎么操作
  • 库存现金的主要内容有哪些
  • xp文件夹选项在哪里打开
  • fedora29
  • win7 更新
  • centos7修改远程登录端口
  • 隐藏文件或文件夹
  • windows8能免费升10吗
  • windows8任务管理器在哪
  • opengl自学
  • nodejs中的事件循环的执行顺序
  • perl调试
  • opengl点的绘制
  • 安卓手机画画触屏笔推荐
  • python3.7 pip
  • win10下python
  • JS backgroundImage控制
  • python做开发
  • 浙江省工会经费减免最新政策2019年
  • 2021税收分类编码大全
  • 放管服改革存在的不足
  • 税务怎么报停
  • 降低税率的坏处
  • 长沙税务查询电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设