最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP實(shí)現(xiàn)的回溯算法示例

 更新時(shí)間:2017年08月15日 09:02:12   作者:CleverCode  
這篇文章主要介紹了PHP實(shí)現(xiàn)的回溯算法,結(jié)合具體實(shí)例形式分析了php回溯算法的實(shí)現(xiàn)步驟與使用方法,涉及字符串與數(shù)組的遞歸、遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP實(shí)現(xiàn)的回溯算法。分享給大家供大家參考,具體如下:

問題:

 一頭大牛駝2袋大米,一頭中牛駝一袋大米,兩頭小牛駝一袋大米,請(qǐng)問100袋大米需要多少頭大牛,多少頭中牛,多少頭小牛?

實(shí)現(xiàn)代碼:

<?php
/*
 * k = 2x + y + 1/2z
 取值范圍
 * 0 <= x <= 1/2k
 * 0 <= y <= k
 * 0 <= z < = 2k
 * x,y,z最大值 2k
 */
$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 <= $daMi)
 {
 return true;
 }
 return false;
}/*}}}*/
function backtrack($t,$daMi,$result)
{/*{{{*/
 //遞歸出口
 if($t > 3)
 {
 //輸出最優(yōu)解
 if($daMi == (2 * $result[1] + $result[2] + 0.5 * $result[3]))
 {
  echo "最優(yōu)解,大米:${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);
?>

運(yùn)行結(jié)果如下圖:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • PHP7新特性之抽象語法樹(AST)帶來的變化詳解

    PHP7新特性之抽象語法樹(AST)帶來的變化詳解

    這篇文章主要介紹了PHP7新特性之抽象語法樹(AST)帶來的變化,結(jié)合實(shí)例形式分析了PHP7抽象語法樹的相關(guān)概念、功能、特性、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2018-07-07
  • 了解Joomla 這款來自國外的php網(wǎng)站管理系統(tǒng)

    了解Joomla 這款來自國外的php網(wǎng)站管理系統(tǒng)

    joomla在國外很熱,就連臺(tái)灣都有不少站使用joomla,國內(nèi)就對(duì)joomla缺乏了解。大多都使用dedecms或者phpcms等。在這四個(gè)月來一直在學(xué)習(xí)joomla,覺得用它來建站很方便。
    2010-03-03
  • php圖片的二進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法

    php圖片的二進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法

    這篇文章主要介紹了php圖片的二進(jìn)制轉(zhuǎn)換實(shí)現(xiàn)方法,詳細(xì)介紹了圖片與二進(jìn)制之間轉(zhuǎn)換的原理與實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • 深入掌握include_once與require_once的區(qū)別

    深入掌握include_once與require_once的區(qū)別

    要深入掌握include(_once)與require(_once),需要掌握以下幾點(diǎn)內(nèi)容,不過有人建議不建議使用
    2013-06-06
  • PHP中使用grpc服務(wù)的教程詳解

    PHP中使用grpc服務(wù)的教程詳解

    這篇文章主要為大家詳細(xì)介紹了PHP中使用grpc服務(wù)的教程相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-03-03
  • php實(shí)現(xiàn)的操作excel類詳解

    php實(shí)現(xiàn)的操作excel類詳解

    這篇文章主要介紹了php實(shí)現(xiàn)的操作excel類,較為詳細(xì)的分析說明了PHP操作excel的具體技巧,包括PHP針對(duì)excel的創(chuàng)建、打開、讀取、修改等,需要的朋友可以參考下
    2016-01-01
  • 如何使用PHP7的Yaconf

    如何使用PHP7的Yaconf

    Yaconf是一個(gè)高性能的PHP配置容器, 它在PHP啟動(dòng)的時(shí)候把格式為INI的配置文件Parse后存儲(chǔ)在PHP的常駐內(nèi)存中,不需要每次請(qǐng)求的時(shí)候都來分析配置文件,并且在獲取配置項(xiàng)的時(shí)候"zero-copy"。
    2021-05-05
  • javascript some()函數(shù)用法詳解

    javascript some()函數(shù)用法詳解

    文章主要詳細(xì)介紹了some函數(shù)的用法,非常的實(shí)用,有需要的小伙伴們可以參考下。
    2014-11-11
  • 給apache2.2加上mod_encoding模塊後 php5.2.0 處理url出現(xiàn)bug

    給apache2.2加上mod_encoding模塊後 php5.2.0 處理url出現(xiàn)bug

    給apache2.2加上mod_encoding模塊後 php5.2.0 處理url出現(xiàn)bug...
    2007-04-04
  • 非常實(shí)用的PHP常用函數(shù)匯總

    非常實(shí)用的PHP常用函數(shù)匯總

    這篇文章主要介紹了非常實(shí)用的PHP常用函數(shù),匯總了加密解密、字符串操作、文件操作、SQL注入等函數(shù)的實(shí)例與用法說明,在PHP項(xiàng)目開發(fā)中非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

裕民县| 江孜县| 简阳市| 汉沽区| 南漳县| 广水市| 灯塔市| 溧水县| 铜鼓县| 鹿邑县| 钟山县| 营山县| 鹤峰县| 南阳市| 新建县| 塘沽区| 渝北区| 丰镇市| 景洪市| 禄丰县| 砚山县| 桦南县| 普兰县| 饶平县| 邯郸市| 云安县| 乐亭县| 微山县| 南和县| 宁乡县| 盐池县| 阿巴嘎旗| 桃园市| 来安县| 宝坻区| 武陟县| 兴安盟| 芜湖市| 松溪县| 上林县| 丹江口市|