介绍
今天就跟大家聊聊有关如何在PHP项目中实现一个回溯算法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
<强>实现代码:强>
& lt; PHP ?/*=,* k 2 x +, y + 1/2z ,取值范围 ,* 0,& lt;=, x & lt;=1/2 k ,* 0,& lt;=, y & lt;=, k ,* 0,& lt;=, z & lt;=, 2 k ,* x, y, z最大值,2 k ,*/时间=美元daMi 100; 数组$ result =, (); function isOk (t, daMi美元,美元的结果) {{{{/* */,total 美元;=,0; 数组,hash 美元;=,(); ,哈希[1]美元=,2; ,哈希[2]美元=,1; ,哈希[3]美元=,0.5; ,(i=1; i<美元=$ t;美元我+ +) ,{ +=,total 美元,美元($ i),结果*,散列($ i)美元; ,} ,如果(=,total 美元;& lt; daMi美元) ,{ ,return 真实; ,} ,return 假; }/*}}}*/function 回溯(t, daMi美元,美元的结果) {{{{/* */,//递归出口 ,如果(t 美元;祝辞,3) ,{ ,//输出最优解 ,如果(daMi 美元==,(2,*,美元的结果[1],+,因此美元[2],+,0.5,*,结果[3]美元)) ,{ echo “才能最优解,大米:$ {daMi},大牛:结果[1],美元中牛:,结果[2],美元小牛:结果[3]\ n"美元;; ,} ,返回; ,} ,($小姐:=,0;美元小姐:& lt;=, 2, *, daMi美元;美元我+ +) ,{ ,结果[t]美元美元=,我美元; ,//剪枝 ,如果(isOk (t, daMi美元,导致美元)) ,{ 回溯才能(t + 1美元,daMi美元,结果); ,} ,结果[t]美元美元=,0; ,} }/*}}}*/回溯(daMi美元,导致美元); ?在
看完上述内容,你们对如何在PHP项目中实现一个回溯算法有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。