background image

PHP 数据结构算法实例

PHP 已经面世十几年了,数据结构更是数倍于 PHP 生龄,但很不理解的是语言界竟无一
人出版使用 PHP 来讲解数据结构的专业书目。是 PHP 应用过于简单不懈著作?还是 PHP

 

所占领域并不重要导致?总之我当初在学这一块的时候甚是苦恼,伪代码让我很头痛。
  原本想专门针对数据结构用 PHP 讲解的方式写个小册子,现在就直接贴出来了。数据结
构的知识渊深、复杂,有些知识点确实难于理解,这些源码供大家学习交流。其中包括:

  排序算法:插入排序、冒泡排序、快速排序、分治|合并算法排序、归并算法排序、选择排序、
基数排序、堆排序、希尔排序、间接排序、计数排序、桶排序。
  查找算法:循序搜寻法、顺序查找、二分查找、插捕搜寻法。
  其它算法:斐波那契数列、线性表删除、汉落塔算法、阶乘算法、指定三角形边输出倒三角
形。
  算法学习:根据要求输出的长度,匹配预先定义好的字符中的字符组合各种可能进行输
出、根据两个矩形的四个点的坐标求出交集四点坐标,还不够完善。
 
  个人未使用成功的用//Failure 已做标记,要注意。如果您有解法,希望回贴答之,先表示
感谢了。
 
 
<?php
/*
 * 

 

排序算法 实例

 * Author:  HuSuMiao
 * Date: 2010-07-29
*/

//插入排序(数组排序)前提:、适合:元素个数较少的排序
//参数:insertion_sort(目标数组)
function insertion_sort($array) {
 
 $len   = count($array);
 if(0 >= $len) {
  return false;
 }
 
 for($j=1; $j<$len; $j++) {
  $key  = $array[$j];
  $i   = $j-1;
  while($i>=0 && $array[$i]>$key) {    //移值过程
   $array[$i+1]  = $array[$i];
   $i--;
  }