数码资讯
PHP实现回溯算法的实例
本文介绍了php实现的回溯算法: 问题: 一头牛有2袋大米,一头牛,一只骆驼,一袋米,两个小牛和一袋米。这100袋大米你需要多少头奶牛,你需要多少头母牛和几头小牛 实现代码: < PHP * * K = 2X + Y + 1 / 2Z 值的范围 * 0 < < = 1 2K / 2K * 0 < y
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
本文介绍了php实现的回溯算法:
问题:
一头牛有2袋大米,一头牛,一只骆驼,一袋米,两个小牛和一袋米。这100袋大米你需要多少头奶牛,你需要多少头母牛和几头小牛
实现代码:
< PHP
*
* K = 2X + Y + 1 / 2Z
值的范围
* 0 < < = 1 2K / 2K
* 0 < y=k
* 0
* x,y,z最大值2K
* /
D = 100美元;
结果=数组();
功能即可(美元美元美元,大米,结果)
{
总计= 0;
$ =数组();
$ { 1 } = 2;
$ { 2 } = 1;
$ { 3 } = 0.5;
($ i = 1;$ i = $;
{
总= $结果i $ };
}
如果(美元总额为D)
{
返回true;
}
返回false;
} }
函数返回(美元美元美元,大米,结果)
{
递归/导出
如果($ 3)
{
输出最优解
如果($ D = =(2×$结果{ 1 } + $结果{ 2 } + 0.5 * $结果{ 3 }))
{
回声最优解,赖斯:$ { Dami },丹尼尔:$结果{ 1 },中国牛:$结果{ 2 },小牛:$结果{ 3 } ;
}
返回;
}
为($我= 0美元= 2 *;我的<<美元美元Dami;i++)
{
$结果;
修剪
如果(即可($ T,D美元美元,结果))
{
回溯($ T + 1美元美元,大米,结果);
}
$结果{ $ } = 0;
}
} }
回溯(1美元美元,大米,结果);
>
运行结果如下:
关于PHP相关内容的更多读者感兴趣的读者可以看到特别站:PHP数据结构和算法教程
希望本文能对PHP程序设计有所帮助。
问题:
一头牛有2袋大米,一头牛,一只骆驼,一袋米,两个小牛和一袋米。这100袋大米你需要多少头奶牛,你需要多少头母牛和几头小牛
实现代码:
< PHP
*
* K = 2X + Y + 1 / 2Z
值的范围
* 0 < < = 1 2K / 2K
* 0 < y=k
* 0
* x,y,z最大值2K
* /
D = 100美元;
结果=数组();
功能即可(美元美元美元,大米,结果)
{
总计= 0;
$ =数组();
$ { 1 } = 2;
$ { 2 } = 1;
$ { 3 } = 0.5;
($ i = 1;$ i = $;
{
总= $结果i $ };
}
如果(美元总额为D)
{
返回true;
}
返回false;
} }
函数返回(美元美元美元,大米,结果)
{
递归/导出
如果($ 3)
{
输出最优解
如果($ D = =(2×$结果{ 1 } + $结果{ 2 } + 0.5 * $结果{ 3 }))
{
回声最优解,赖斯:$ { Dami },丹尼尔:$结果{ 1 },中国牛:$结果{ 2 },小牛:$结果{ 3 } ;
}
返回;
}
为($我= 0美元= 2 *;我的<<美元美元Dami;i++)
{
$结果;
修剪
如果(即可($ T,D美元美元,结果))
{
回溯($ T + 1美元美元,大米,结果);
}
$结果{ $ } = 0;
}
} }
回溯(1美元美元,大米,结果);
>
运行结果如下:
关于PHP相关内容的更多读者感兴趣的读者可以看到特别站:PHP数据结构和算法教程
希望本文能对PHP程序设计有所帮助。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。