数据结构与算法
ekliu
这个作者很懒,什么都没留下…
展开
-
PHP 快速排序算法
function quicksort($str) { if (count($str) <= 1) return $str; //如果个数不大于一,直接返回 $key = $str[0]; //取一个值,稍后用来比较; $left_arr = array(); $right_arr = array(); for ($i = 1; $i <原创 2013-04-26 18:38:36 · 510 阅读 · 0 评论 -
PHP 猴子围圈选大王
//一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,//从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩//下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。//m=50 n=3//一串由17个数字排列成一个圆环,现在从第1个位置开始计数,沿着圆环去掉被3整除的位置和原创 2013-04-26 18:40:53 · 1072 阅读 · 0 评论 -
斐波拉契数列
function fei($n) { if ($n == 1 || $n == 2) { return 1; } return fei($n - 1) + fei($n - 2);}//print_r(fei(6));//随即不重复的数//$arr = range(0, 12);//print_r($arr);//print_r(array_r原创 2013-04-26 18:41:52 · 501 阅读 · 0 评论 -
PHP 遍历循环目录
function getdir_file($path = '.'){ $conndir = opendir($path); while (($file = readdir($conndir))!==FALSE){ $sub_dir = $path . '/' .$file; if原创 2013-04-26 18:44:26 · 872 阅读 · 0 评论 -
PHP 读取大文件 SplFileObject
function getbigfile() { $file_path = "D:/wamp/www/test/input.txt"; $handle = fopen($file_path, "r+"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 8原创 2013-04-26 18:43:05 · 1605 阅读 · 0 评论 -
PHP 折半查找(二分查找) 递归与非递归法
/** * 折半查找(二分查找) * 条件:1.必须采用顺序存储结构 2.必须按关键字大小有序排列 * 递归法 * $arr 目标数组 * $k 要查找的数组 * $left 开始下标 * $right 结束下标 * return 查找到的下标 */function search_half_recursion($arr, $k, $left, $right) {原创 2013-05-03 00:14:17 · 827 阅读 · 0 评论 -
PHP 概率算法
function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); //概率数组循环 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum);原创 2013-05-08 15:00:31 · 638 阅读 · 0 评论 -
编程珠玑:给定一个包含4300000000个32位证书的顺序文件,求出一个至少包含两次的整数
面试题:给定一个包含4300000000个32位整数的顺序文件,求出一个至少包含两次的整数。 思路:考虑两个条件1. 所有的整数都存储在顺序文件中,因此,读取文件的次数将明显影响算法的效率2. 顺序文件中包含的整数个数为4300000000,如果全部读取放在内存中的话,必须要考虑内存空间因素。 那么,有没有既节省时间又节省空间的solution呢?也转载 2013-05-09 18:45:21 · 910 阅读 · 0 评论 -
海量数据处理算法—Bit-Map
1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这转载 2013-05-09 18:50:06 · 454 阅读 · 0 评论