专栏首页编程学习园地PHP实现的回溯算法示例

PHP实现的回溯算法示例

本文实例讲述了PHP实现的回溯算法。分享给大家供大家参考,具体如下:

问题:

 一头大牛驼2袋大米,一头中牛驼一袋大米,两头小牛驼一袋大米,请问100袋大米需要多少头大牛,多少/

/头中牛,多少头小牛?

实现代码:

<?php

/*

$daMi = 100;

$result = array();

function isOk($t,$daMi,$result)

{/

/

$total = 0;

$hash = array();

$hash[1/

/] = 2;

$hash[2] = 1;

$hash[3] = 0.5;

for($i=1;$i<=$t;$i++)

{

$total += $result[$i] * $hash[$i];

}

if( $total &lt;= $daMi)

{

return true;

}

return false;

}/

/

function backtrack($t,$daMi,$result)

{/

/

//递归出口

if($t > 3)

{

//输出最优解

if($daMi == (2 * $result[1] + $result[2] + 0.5 * $result[3]))

{

echo "最优解,大米:${daMi},大牛:$result[1],中牛: $result[2],小牛:$result[3]n";

}

return;

}

for($i = 0;$i <= 2 * $daMi;$i++)

{

$result[$t] = $i;

//剪枝

if(isOk($t,$daMi,$result))

{

backtrack($t+1,$daMi,$result);

}

$result[$t] = 0;

}

}/

/

backtrack(1,$daMi,$result);

?>

运行结果如下图:

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

原文链接:https://www.blog.zirun.me.com/php/4668.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • php实现的生成排列算法示例

    砸漏
  • PHP实现的随机红包算法示例

    算法有很多种, 可以自行选择, 主要的"架构" 是这样的, 用redis decr()命令去限流, 用mysql去记录各种需要的数据

    用户8449980
  • PHP二分查找算法的实现方法示例

    本文实例讲述了PHP二分查找算法的实现方法。分享给大家供大家参考,具体如下: 二分查找法需要数组是一个有序的数组 假设我们的数组是一个递增的数组,首先我们需要找...

    用户2323866
  • PHP实现的AES 128位加密算法示例

    本文实例讲述了PHP实现的AES 128位加密算法。分享给大家供大家参考,具体如下:

    砸漏
  • PHP实现的贪婪算法实例

    本文实例讲述了PHP实现的贪婪算法。分享给大家供大家参考,具体如下: 背景介绍:贪婪算法与数据结构知识库算法可以说是离我们生活最近的一种算法,人总是贪婪的嘛,所...

    用户2323866
  • 【枕边算法】回文算法题PHP实现

    ①选择任一数值; ②翻转此数值(例如,选择13则翻转为31),并将原数值和翻转数值相加(13+31); ③相加结果若不是回文,则返回②反复执行,若是回文则终止算...

    硬核项目经理
  • PHP __call()方法实现委托示例

    本文实例讲述了PHP __call()方法实现委托。分享给大家供大家参考,具体如下:

    砸漏
  • PHP实现基于回溯法求解迷宫问题的方法详解

    本文实例讲述了PHP实现基于回溯法求解迷宫问题的方法。分享给大家供大家参考,具体如下: 引言 最近在leetcode上看了/【一个开发人员,能懂服务器量好,反之...

    用户2323866
  • PHP实现微信退款的方法示例

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《php curl用法总结》、《PHP网络编程技巧总结》、《php字符串(stri...

    砸漏
  • PHP环形链表实现方法示例

    本文实例讲述了PHP环形链表实现方法。分享给大家供大家参考,具体如下: 环形链表是一种链式存储结构,类似于单链表。区别是环形链表的尾节点指向头节点。 从而形成一...

    用户2323866
  • PHP实现的敏感词过滤方法示例

    JavaScript正则表达式在线测试工具: http://tools.zalou.cn/regex/javascript

    砸漏
  • php 算法之实现相对路径的实例

    /【技术点,其实还需要更多地实践】/ php 算法之实现相对路径的实例 算出相对路径(相同的目录可以忽略用../ 或者 ./ 表示) 实现代码:

    用户2323866
  • PHP实现微信红包金额拆分试玩的算法示例

    本文介绍了PHP实现微信红包金额拆分试玩的算法示例,分享给大家,有兴趣的可以看一下:

    用户8660814
  • PHP操作路由器实现方法示例

    我们经常会碰到需要自动换IP的需求,比方模拟点击投票,数据采集被封IP,Alexa作弊等等,也就是需要经常换IP的,我们都可以通过PHP控制路由器来换IP,这样...

    砸漏
  • php 后端实现JWT认证方法示例

    JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通...

    用户2323866
  • PHP实现笛卡尔积算法的实例讲解

    在数学中,两个集合X和Y的笛卡儿积(Cartesian product),又称直积,表示为 X × Y。设A、B是任意两个集合,在集合A中任意取一个元素x,在集...

    砸漏
  • PHP实现的MD5结合RSA签名算法实例

    本文实例讲述了PHP实现的MD5结合RSA签名算法。分享给大家供大家参考,具体如下:

    用户2323866
  • PHP实现打包下载文件的方法示例

    public function Download($img) { $items = []; $names = []; if($img) { //用于前端跳转zi...

    用户2323866
  • PHP实现的策略模式示例

    例如:一个电商首页,可以根据登陆用户的性别不同显示不同的内容,比如广告和商品类别。

    砸漏

扫码关注云+社区

领取腾讯云代金券