随笔分类 - 数据结构/算法
摘要:tree = $tree; } //遍历树中的每一个节点,看其是否为指点节点的子树节点 public function handle($id){ $data = array(); foreach ($this->tree as $item){ $res = $this->is_son_nod...
阅读全文
摘要:今天博客园出了一道面试题,我也解了一下,PHP解决方案如下";print_r($res);
阅读全文
摘要:$k){ return $this->search($arr, $k, $low, $mid-1); } if ($arr[$mid]search($arr, $k, $mid+1, $high); } return false; }}class Client{ public s...
阅读全文
摘要:php里面解决约瑟夫环还是比较方面的,但是下面的方法太费空间m = $m; $this->n = $n; } public function getKing(){ $mokeys = range(1, $this->n); $tmp = 0; while(count($mokeys)>1)...
阅读全文
摘要:还是要常常写程序啊,顺序表的归并操作,是归并排序中的基础操作mergeArray($arr_1, $arr_2); print_r($arr); }}Client::main();?>
阅读全文
摘要:$arr[$j+1]){ $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } return $arr; } }//冒泡的改进算法class BubbleSortB implements...
阅读全文
摘要:堆排序基本步骤:1:把无序序列构成一个堆。2:交换堆顶元素和最后一个元素,交换之后由于堆结构破坏,重置堆。初始化堆和交换后的重置堆区别在于:初始化堆时从最后一个非叶子结点开始调整结点位子,交换堆顶元素后的重置只需要调节堆顶元素的位子。0;$end--){//交换堆顶和最后的一个元素 $tmp = ...
阅读全文
摘要:开始 系统了解一些常见的算法了,慢慢积累回溯法的基本步骤:定义问题的解空间、确定解空间树的结构、以深度优先方式搜索整个解空间,找到所要的解(剪枝函数的使用)。
阅读全文
摘要:面向过程解决";}hanio(2, 'A', 'B', 'C');?> 面向过程写n = $n; $this->start = $start; $this->mediator = $mediator; $this->goal = $goal; } //单个盘移动 private funct...
阅读全文
摘要:php实现的八皇后问题,可以推广到N皇后m = $m; $this->put(0); } //判断第$n行放置位置$queen[$n] = $i 是否和前面的行冲突(同行,同列冲突,对角线冲突) /** * @param $n 第n行 * @return bool是否冲突 */ pri...
阅读全文
摘要:data = $data; $this->next = $next; }}class Linklist{ public $header; public function __construct(){ $this->header = new Node(null); } //向尾部添加结点 pu...
阅读全文
摘要:hash表又称散列表,通过把关键字key经过hash函数映射到hash表中某个位置获取记录。存放记录的数组又称为hash表,映射函数称为hash函数下面是php中实现hash表的方法buckets = new SplFixedArray($this->size); } /*=====hash函数==...
阅读全文

浙公网安备 33010602011771号