【哈希算法详解】教程文章相关的互联网学习教程文章

PHP和C#可共用的可逆加密算法详解_php技巧

在一些项目中要求在php中生成加密,然后在asp.net中接受过来的密码再解密,下面和大家分享一个PHP与asp.net C#可共用的可逆加密算法,感兴趣的可以参考参考。 php加密算法: <?php class DES {var $key;var $iv; //偏移量function DES($key = 11001100, $iv=0 ) {//key长度8例如:1234abcd$this->key = $key;if( $iv == 0 ) {$this->iv = $key; //默认以$key 作为 iv} else {$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_bloc...

php冒泡排序与快速排序实例详解_php技巧

本文实例分析了php冒泡排序与快速排序算法。分享给大家供大家参考,具体如下: $a=array(3,8,1,4,11,7); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) { for($j=$len-1;$j>=$i;$j--) if($a[$j]<$a[$j-1]) {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了$x=$a[$j];$a[$j]=$a[$j-1];$a[$j-1]=$x; } } print_r($a);j //另一种方法 从小到大 $b=array(4,3,8,9,2,1); $len=count($b); ...

PHP实现的线索二叉树及二叉树遍历方法详解_php技巧

本文实例讲述了PHP实现的线索二叉树及二叉树遍历方法。分享给大家供大家参考,具体如下: <?phprequire biTree.php;$str = ko#be8#tr####acy#####;$tree = new BiTree($str);$tree->createThreadTree();echo $tree->threadList() . "\n";从第一个结点开始遍历线索二叉树echo $tree->threadListReserv();从最后一个结点开始反向遍历 ?>biTree.php: <?/*** PHP实现二叉树** @author zhaojiangwei* @since 2011/10/25 10:32*///结点类...

关于PHP二进制流 逐bit的低位在前算法(详解)

代码如下: /****************************************************** * 逐bit的低位在前算法 * @param $x * @return int */ function reverse($x) { $result = 0; for($i = 0; $i < 8; $i++) { $result = ($result << 1) + (1 & ($x >> $i)); } return $result & 0xff; }调用展示: 代码如下:$testData = 0xC5; //二进制:1100 0101$testRet = reverse(...

PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解

数据结构很重要,算法+数据结构+文档=程序使用PHP描述冒泡排序算法,对象可以是一个数组 代码如下://冒泡排序(数组排序)function bubble_sort($array) {$count = count($array);if ($count <= 0)return false;for($i=0; $i<$count; $i++){for($j=$count-1; $j>$i; $j–){if ($array[$j] < $array[$j-1]){$tmp = $array[$j];$array[$j] = $array[$j-1];$array[$j-1] = $tmp;}}}return $array; }使用PHP描述顺序查找和二分查找(也...

PHP冒泡算法详解(递归实现)

实现代码如下: /* 冒泡算法(递归实现) */ function maoPao($array, $index=0) { $count = count($array); if(($count-1) <= $index) return $array; for($i=$count-1; $i>$index; $i-- ) { if($array[$i] < $array[$i-1]) { $tmp = $array[$i]; $array[$i] = $array[$i-1]; $array[$i-1] = $tmp; } } $index++; return maoP...

PHP 快速排序算法详解【图】

概念 这里借用百度百科的一张图来,非常形象:快速排序算法是对冒泡算法的一个优化。他的思想是先对数组进行分割, 把大的元素数值放到一个临时数组里,把小的元素数值放到另一个临时数组里(这个分割的点可以是数组中的任意一个元素值,一般用第一个元素,即$array[0]),然后继续把这两个临时数组重复上面拆分,最后把小的数组元素和大的数组元素合并起来。这里用到了递归的思想。 PHP实现代码如下: /* 快速排序 */ function...

PHP和C#可共用的可逆加密算法详解

在一些项目中要求在php中生成加密,然后在asp.net中接受过来的密码再解密,下面和大家分享一个PHP与asp.net C#可共用的可逆加密算法,感兴趣的可以参考参考。 php加密算法: <?php class DES {var $key;var $iv; //偏移量function DES($key = 11001100, $iv=0 ) {//key长度8例如:1234abcd$this->key = $key;if( $iv == 0 ) {$this->iv = $key; //默认以$key 作为 iv} else {$this->iv = $iv; //mcrypt_create_iv ( mcrypt_get_bloc...

php冒泡排序与快速排序实例详解

本文实例分析了php冒泡排序与快速排序算法。分享给大家供大家参考,具体如下: $a=array(3,8,1,4,11,7); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) { for($j=$len-1;$j>=$i;$j--) if($a[$j]<$a[$j-1]) {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了$x=$a[$j];$a[$j]=$a[$j-1];$a[$j-1]=$x; } } print_r($a);j //另一种方法 从小到大 $b=array(4,3,8,9,2,1); $len=count($b); ...

PHP实现的线索二叉树及二叉树遍历方法详解

本文实例讲述了PHP实现的线索二叉树及二叉树遍历方法。分享给大家供大家参考,具体如下: <?phprequire biTree.php;$str = ko#be8#tr####acy#####;$tree = new BiTree($str);$tree->createThreadTree();echo $tree->threadList() . "\n";从第一个结点开始遍历线索二叉树echo $tree->threadListReserv();从最后一个结点开始反向遍历 ?>biTree.php: <?/*** PHP实现二叉树** @author zhaojiangwei* @since 2011/10/25 10:32*///结点类...

PHP快速排序quicksort实例详解

本文实例讲述了PHP快速排序quicksort。分享给大家供大家参考,具体如下: quicksort 在快速排序算法中,使用了分治策略。首先把序列分成两个子序列,递归地对子序列进行排序,直到整个序列排序结束。(即一分为二的思想) 步骤如下: 在序列中选择一个关键元素做为轴; 对序列进行重新排序,将比轴小的元素移到轴的前边,比轴大的元素移动到轴的后面。在进行划分之后,轴便在它最终的位置上; 递归地对两个子序列进行重新排序:含有...

PHP利用二叉堆实现TopK-算法的方法详解【图】

前言 在以往工作或者面试的时候常会碰到一个问题,如何实现海量TopN,就是在一个非常大的结果集里面快速找到最大的前10或前100个数,同时要保证内存和速度的效率,我们可能第一个想法就是利用排序,然后截取前10或前100,而排序对于量不是特别大的时候没有任何问题,但只要量特别大是根本不可能完成这个任务的,比如在一个数组或者文本文件里有几亿个数,这样是根本无法全部读入内存的,所以利用排序解决这个问题并不是最好的,所以...

PHP实现的堆排序算法详解【图】

本文实例讲述了PHP实现的堆排序算法。分享给大家供大家参考,具体如下: 经验 工作了,面试我工作这家公司时被技术面打击得不行,因为自己的数据结构等基础学得实在太差,虽然原来是想做设计师的说。。。不过看在PHP写得还凑合的份上能来实习了,但还是决心恶补一下基础。 其实自己之前也确实感觉到了基础的重要性,一些比较深的东西都比较底层,不学好根本没法进行。像我之前用PHP做websocket,就牵扯到数据包、数据帧等概念,搞不...

PHP实现深度优先搜索算法(DFS,Depth First Search)详解【图】

本文实例讲述了PHP实现深度优先搜索算法。分享给大家供大家参考,具体如下: 深度优先搜索的实现原理:实现代码: <?php class Search_Method {//无向图的数组描述private $dfs_save;//全局记录数组private $arr;//控制分支-private $k = 0;public function __construct(){$this->dfs_save = array(array(0,1,1,1,0,0,0,0,0),array(1,0,0,0,1,0,0,0,0),array(1,0,0,0,0,1,0,0,0),array(1,0,0,0,0,0,1,0,0),array(0,1,0,0,0,1,0,0,1...

PHP实现广度优先搜索算法(BFS,Broad First Search)详解

本文实例讲述了PHP实现广度优先搜索算法。分享给大家供大家参考,具体如下: 广度优先搜索的算法思想 Breadth-FirstTraversal 广度优先遍历是连通图的一种遍历策略。因为它的思想是从一个顶点V0开始,辐射状地优先遍历其周围较广的区域,故得名。 广度优先搜索遍历类似于树的按层次遍历。对于无向连通图,广度优先搜索是从图的某个顶点v0出发,在访问v0之后,依次搜索访问v0的各个未被访问过的邻接点w1,w2,…。然后顺序搜索访问w...