DataStruct
PhpEr_贵
我是大笨蛋
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php 递归函数 解决 皇后问题 速度有点慢~
<?php//递归算法解决 皇后问题//皇后问题 在一个n*n的矩阵中,放置n个皇后 ,要求每个皇后不同行,不同列,不在对角线上//递归解决//place(k,n)表示要在k列放置一个皇后,那么就有k-1个皇后已经放好了 //place(k+1,n)则表示k个皇后已近放好了,规模小于plack(k,n)//递归模型//place(i,n) i>n;输出//place(k,n原创 2014-04-02 20:08:17 · 740 阅读 · 0 评论 -
php 实现简单链式二叉树 创建 和遍历
<?php//链式二叉树class node{ public $data; public $left; public $right;}// 建立树形为A(B(D(,G)),C(E,F)) 二叉树$str = 'A(B(D(,G)),C(E,F))';//创建二叉树function createTree($str){ $len = strlen($str); $he原创 2014-04-10 16:28:26 · 403 阅读 · 0 评论 -
PHP 实现见得的二叉排序树查找算法
<?php//树表查找,二叉排序树//基本特点://1.左子树要么是空要么key值小于父亲结点key 2.右子树要么是空要么大于父亲结点key//左右孩子又是一棵二叉排序树//时间复杂度//查找的次数(关键之比较次数)不会超过树的深度,对于不同形态的树的形状平均查找的次数不同,//最坏的情况退化的单链表,为O(n)//平均查找长度为log2(n)//比二分查找更容易维护d原创 2014-04-23 10:50:21 · 956 阅读 · 0 评论 -
基本查找算法 PHP 实现 保存 顺序查找,二分查找 分块查找
<?php//基本查找算法define('LEN',99999);define('MAX',-99999);class Node{ public $data;//数据域 public $key; //关键之查找}$seqList = new SplFixedArray(LEN);function Init(SplFixedArray $seqList){ for($i=0原创 2014-04-22 11:23:00 · 670 阅读 · 0 评论 -
PHP QuickSort 递归简单实现
<?php$arr = range(1, 10);shuffle($arr);var_dump($arr);function quickSort(&$arr,$start,$end){ $i = $start; $j = $end ; $tmp = $arr[$i]; if($i<$j){ while($i!=$j){ while($i$tmp){ //把比tmp小原创 2014-04-19 22:27:32 · 595 阅读 · 0 评论 -
简单Floyd php 实现 只为熟悉算法
<?php//有向图 邻接矩阵存储$Map = array( 1=>array(1=>0,2=>5,4=>7), 2=>array(2=>0,3=>4,4=>2), 3=>array(1=>3,2=>3,3=>0,4=>2), 4=>array(3=>1,4=>0) );//序列矩阵//初始化为$Map$A = $Map;//记录路劲$Path = ar原创 2014-04-18 21:52:27 · 547 阅读 · 0 评论 -
php 简单并查集实现
<?php$n = 10;//10个结点$case = 7; //7组关系,如下$data = array( array(2,4), array(7,5), array(1,3), array(8,9), array(1,2), array(5,6), array(2,3), );$UFSTree = array();function Make_原创 2014-04-09 12:47:12 · 617 阅读 · 0 评论 -
hdu oj 1233 最小生成树 采用Prim算法
#include #include //随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数//这里可以看出这是一个完全无向连通图//很明显采用最小生成树解决//这里采用邻接矩阵来存储#define NMAX 100#define NMIN 0xfffff//主要是学习图数据结构,存储的时候还是定义规范点typedef struct{ int no;原创 2014-04-16 14:49:50 · 539 阅读 · 0 评论 -
hdu oj 1232 并查集
#include #include struct node{ int data; int rank; int parent;};node Tree[1003]; void Make_set(int n){ int i; for(i=1;i<=n;i++) { Tree[i].data = i; Tree[i].parent = i; Tree[i].r原创 2014-04-16 13:07:35 · 471 阅读 · 0 评论 -
php 实现串查找Horspool
//Horspool 算法//从右边开始扫面pattern(长度为m)//假设串与pattern最后一个字符是c,当c在不同的情况下移动距离如下//1.在模式中不存在c,直接向右移动m//2.在模式中存在c,但是不是最后一个字符,那么把模式最右边的c和当前串中的c对齐//3.如果模式最后一个字符恰好和当前字符c相同,但是模式前m-1个字符不存在c了,那么好使直接移动m长度(类似原创 2014-04-13 16:15:06 · 475 阅读 · 0 评论
分享