递归应用之PHP演示
来源:互联网 发布:花生壳ddns 免费域名 编辑:程序博客网 时间:2024/04/30 15:20
<?php
/*hl-s
============递归求和Demo==========
*1.判断是否为最后一次调用
*2.如果不是则继续递归调用
*3.如果是则返回1
===============================
hl-e*/
/*
function sum($i) {
if($i>0){
echo $i.'<br>';
return $i*sum($i-1);
}else{
return 1;
}
}
$a = sum(9);
echo $a;
*/
//-------------------------------------------------------------------------------------------------------------------------------------------------//
/*hl-s
============折半算法Demo==========
*1.当数组中间值等于最小值时候,则到最后递归,对最后的$mid判断是否等于$k
*2.如果查找的值大于中间值则在右边
*3.如果查找的值大于中间值则在左边
*4.为什么在程序中用“+”,就会报错?
===============================
hl-e*/
function binserch($arr, $min, $max, $k) {
$mid = intval(($min+$max)/2); //此处用+就会报错
if($mid==$min){
if($arr[$mid]==$k){
echo '找到查询值!';
}else{
echo '未找到查询值!';
}
}else{
if($arr[$mid]==$k){
echo '找到查询值!';
}elseif($k>$arr[$mid]){
binserch($arr, $mid+1, $max, $k);
}elseif($k<$arr[$mid]){
binserch($arr, $min, $mid-1, $k);
}
}
}
$arr = array(1, 3, 4, 6, 8, 11, 18);
$k1 = 1;
$k2 = 6;
$k3 = 11;
$k4 = 20;
$k5 = 7;
$min = 0;
$max = count($arr)-1;
binserch($arr, $min, $max, $k1);
echo '<br>';
binserch($arr, $min, $max, $k2);
echo '<br>';
binserch($arr, $min, $max, $k3);
echo '<br>';
binserch($arr, $min, $max, $k4);
echo '<br>';
binserch($arr, $min, $max, $k5);
//-------------------------------------------------------------------------------------------------------------------------------------------------//
/*hl-s
============汉诺塔Demo============
*1.把A上n-1个盘通过C移动到B
*2.把A上盘移动到C
*3.把B上n-1个盘通过A移动到C
===============================
hl-e*/
function hannuota($n, $a, $b, $c) {
if($n==1){
echo "将编号为$n从$a移到$c";
}else{
hannuota($n-1, $a, $c, $b);
echo "将编号为$n从$a移到$c";
hannuota($n-1, $b, $a, $c);
}
}
hannuota(5, 'a', 'b', 'c');
?>
注:汉诺塔的代码运行会报错!知道的望告知原因.不胜感激.
- 递归应用之PHP演示
- 回文之递归应用
- 递归应用之汉诺塔
- Python3之递归应用
- PHP学习笔记之全局变量演示
- php之递归调用,递归创建目录
- 傻瓜式理解递归之php递归
- PHP正则之递归匹配
- php 递归无限级分类应用之打印子栏目,打印子孙栏目,打印家谱树
- 递归的应用之乘方
- 递归应用之归并排序
- C进阶之递归应用
- php中钩子(hook)的应用示例演示与下载
- 简介PHP递归算法和应用
- Hilbert空间递归演示
- 汉诺塔递归演示
- Hilbert空间递归演示
- PHP递归运用之删除级联目录
- 为什么美元持续贬值,国际市场上价格与美元挂钩的大宗商品,包括石油、钢铁、铜、矿石、粮食等,价格上涨
- 石油、黄金与美元的游戏
- 守护进程与setsid
- 创建基于JavaScript的水平导航下拉菜单 (转)
- win7下cygwin + Eclipse + Nutch1.2 + Tomcat6 安装配置
- 递归应用之PHP演示
- java高级特性_2
- U-boot项目添加命令
- SVM入门(三)线性分类器Part 2
- 分析三种主流防火墙配置方案利弊
- Internet防火墙技术简介
- IP地址分类
- 深入浅出说路由器
- 第10篇TinyOS/TOSSIM的debug(教程lesson 5)