PHP数据结构——二分查找与顺序查找
<?php
//--------------------
// 基本数据结构
//--------------------
//二分查找(数组里查找某个元素)
function bin_sch($arr, $low, $high, $k) {
if($low<=$high) {
$mid = intval(($low+$high)/2);
if($arr[$mid] == $k) {
return $mid;
} elseif($k<$arr[$mid]) {
return bin_sch($arr,$low,$mid-1,$k);
} elseif($k>$arr[$mid]) {
return bin_sch($arr,$mid+1,$high,$k);
}
}
return -1;
}
//顺序查找(数组里查找某个元素)
function seq_sch($array, $n, $k) {
$array[$n] = $k;
for($i=0; $i<$n; $i++) {
if($array[$i]==$k) {
break;
}
}
if($i<$n) {
return $i."The Element is here";
} else {
return '-1Sorry';
}
}
for($i=0;$i<1000000;$i++) {//测试数组
$arr1[$i] = $i+1;
}
$time_start = explode(" ",microtime());
seq_sch($arr1,1000000,895624);
$time_end = explode(" ", microtime());
echo "顺序查找法所需要的时间:";
echo ($time_end[0]+$time_end[1] - $time_start[0]-$time_start[1])."<br>";////测试顺序查找法所需要的时间
echo '----------------------------------——————'.'<br>';
$time_start = explode(" ",microtime());
bin_sch($arr1,0,999999,895624).'<br>';
$time_end = explode(' ', microtime());
echo "二分查找法所需要的时间:";
echo ($time_end[0]+$time_end[1] - $time_start[0]-$time_start[1]).'<br>';//测试二分查找法所需要的时间
?>
测试结果:
顺序查找法所需要的时间:0.36866903305054
----------------------------------
二分查找法所需要的时间:0.00011110305786133
在执行效率上二分查找法远大于顺序查找法
相关文档:
<?php
include_once("error.php");
/*
* 名称 : PHP去源码注释及轻度压缩数据
* 作者 : pjx
* 版本 : v 2010/02/25 v 1.0
* 说明 : 该类用于清除PHP文件(同时兼容C/C++风格注释的文件)源码的注释及去除多余空格
* 示例 :
* 实例 => $data = new REMOVE_COMMENT($file_p ......
首先要了解sql语句
$SQL="delete from `PHP100` where id in (1,2,4)";
表单大概是:
<form action="" method="post">
<input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>
<i ......
一 设计工具
UML 和相关设计工具
- Argo UML
UML绘图工具,支持PHP stub生成。 (commercial spin off is Posideon) –Java编写。
- Umbrello UML
UML绘图工具,支持PHP stub生成。 需要Unix / KDE。
- Dia
支持UML 的绘图工具 -使用AutoDia 生成PHP。
- XMI 2 PHP
从XMI文档生成PHP代码,用XML描述U ......
PHP中设计模式的学习笔记
设计模式(Design Pattern)是面向对象设计中反复出现的问题的解决方案,设计模式是一种比一般类的设计更加抽象的一种思想,
它往往涉及到多个类的定义和使用。
在PHP的开发过程中,经常使用到得设计模式包括:简单工厂模式、单元素模式、观察者模式、命令模式、策略模式以及MVC模式等。
/ ......
今天2010-02-26,开始我的php学习之路,
计划在未来的一段时间内,用足够多的时间和精力来学习了解php。
做到精通理解还有就是自己独立的开发出一系列的网站,作为对自己学习的检验。
做好技术总结和技术内核理解 ......