递归算法php,PHP递归算法的详细示例分析.pdf

递归算法php,PHP递归算法的详细示例分析.pdf

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

递归算法php,PHP递归算法的详细⽰例分析

我们在建设⼀个⽹站的时候,程序员们⾸选的当属PHP语⾔。我们对PHP还是⽐较熟悉的,接下来我们将会为⼤家介绍⼀下PHP递归算

法。PHP,⼀个嵌套的缩写名称,是英⽂超级⽂本预处理语⾔(PHP:HypertextPreprocessor)的缩写。

PHP是⼀种HTML内嵌式的语⾔,是⼀种在服务器端执⾏的嵌⼊HTML⽂档的脚本语⾔,语⾔的风格有类似于C语⾔,现在被很多的⽹站

编程⼈员⼴泛的运⽤。PHP独特的语法混合了C、Java、Perl以及PHP⾃创新的语法。

它可以⽐CGI或者Perl更快速的执⾏动态⽹页。⽤PHP做出的动态页⾯与其他的编程语⾔相⽐,PHP是将程序嵌⼊到HTML⽂档中去执

⾏,执⾏效率⽐完全⽣成HTML标记的CGI要⾼许多;与同样是嵌⼊HTML⽂档的脚本语⾔JavaScript相⽐,PHP在服务器端执⾏,充分利

⽤了服务器的性能;PHP执⾏引擎还会将⽤户经常访问的PHP程序驻留在内存中,其他⽤户再⼀次访问这个程序时就不需要重新编译程序

了,只要直接执⾏内存中的代码就可以了,这也是PHP⾼效率的体现之⼀。

PHP具有⾮常强⼤的功能,所有的CGI或者JavaScript的功能PHP都能实现,⽽且⽀持⼏乎所有流⾏的数据库以及操作系统。我们这⾥详细

的介绍⼀下PHP递归算法。

PHP递归算法代码:

<?php

//定义PI⼀分的⾓度的值define("PII",M_PI/180);

//新建图像资源,并定义其背景为⽩⾊,前景⾊为⿊⾊

$im=imagecreate(670,500);

$white=imagecolorallocate($im,0xFF,0xFF,0xFF);

$g=imagecolorallocate($im,0x00,0x00,0x00);

//从下⾯实例化的代码可以得知,初始值$x,$y,$L,$a别分为300,500,100,270

functiondrawLeaf($g,$x,$y,$L,$a)

{global$im;$B=50;$C=9;$s1=2;$s2=3;$s3=1.2;

if($L>$s1){

//计算叶⼦的定位上⾯

$x2=$x+$L*cos($a*PII);

$y2=$y+$L*sin($a*PII);

$x2R=$x2+$L/$s2*cos(($a+$B)*PII);

$y2R=$y2+$L/$s2*sin(($a+$B)*PII);

$x2L=$x2+$L/$s2*cos(($a-$B)*PII);

$y2L=$y2+$L/$s2*sin(($a-$B)*PII);

//计算叶⼦的定位下⾯

$x1=$x+$L/$s2*cos($a*PII);

$y1=$y+$L/$s2*sin($a*PII);

$x1L=$x1+$L/$s2*cos(($a-$B)*PII);

$y1L=$y1+$L/$s2*sin(($a-$B)*PII);

$x1R=$x1+$L/$s2*cos(($a+$B)*PII);

$y1R=$y1+$L/$s2*sin(($a+$B)*PII);

//别分画叶⼦的主⼲以及叶⾯

ImageLine($im,(int)$x,(int)$y,(int)$x2,(int)$y2,$g);

ImageLine($im,(int)$x2,(int)$y2,(int)$x2R,(int)$y2R,$g);

ImageLine($im,(int)$x2,(int)$y2,(int)$x2L,(int)$y2L,$g);

ImageLine($im,(int)$x1,(int)$y1,(int)$x1L,(int)$y1L,$g);

ImageLine($im,(int)$x1,(int)$y1,(int)$x1R,(int)$y1R,$g);

//再次递归调⽤本⾝

drawLeaf($g,$x2,$y2,$L/$s3,$a+$C);

drawLeaf($g,$x2R,$y2R,$L/$s2,$a+$B);

drawLeaf($g,$x2L,$y2L,$L/$s2,$a-$B);

drawLeaf($g,$x1L,$y1L,$L/$s2,$a-$B);

drawLeaf($g,$x1R,$y1R,$L/$s2,$a+$B);

}

}

//实例化

drawLeaf($g,300,500,100,270);

header("Content-type:image/png");

imagepng($im);

?>

在我个⼈的PHP编程经验中,递归调⽤常常与

文档评论(0)

132****6651 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档