数据结构
文章平均质量分 69
zoro_1992
正青春
展开
-
(转载)散列冲突处理:开放定址法
散列冲突处理:开放定址法 前面我们讲了一些设计散列函数的方法,从前面的除留余数法的例子也可以看出,我们设计得再好的散列函数也不可能完全避免冲突,这就像我们再健康也只能尽量预防疾病,但却无法保证永远不得病一样,既然冲突不能避免,就要考虑如何处理它。 那么当我们在使用散列函数后发现两个关键字key1≠key2,但是却有f(key1) = f(key2),转载 2015-04-29 23:31:08 · 623 阅读 · 0 评论 -
两个栈实现一个队列
两个栈实现一个队列 三种思路你是否都能想到原创 2015-08-14 16:07:38 · 570 阅读 · 0 评论 -
几种常见排序算法_PHP实现
选择排序 function SelectionSort(&$data){ $length = count($data); for($i=0;$i<$length;$i++){ $min = $i; for($j=$i+1;$j<$length;$j++){ if($data[$min]>$data[$j]){ $min = $j; } }原创 2015-04-22 21:14:45 · 553 阅读 · 3 评论 -
PHP排序算法补充
堆排序 function HeapAdjust(&$array,$i,$size){ $root = $i ; $lchild = 2*$i+1; $rchild = 2*$i+2; if($root<=$size/2){ if($lchild$array[$root]){ $root=$lchild; } if($rchild$array[$root原创 2015-04-23 23:11:27 · 428 阅读 · 0 评论 -
树的补充
//判断一个整数序列是否是一个二叉搜索树的后序遍历 //$arr:数组 //$start:起始位置 从0开始计数 //$length:长度 //使用$start和$length可以模拟部分数组 public function isBST($arr,$start,$length){ if(count($arr)<=1) return false; $root = $arr[$l原创 2015-07-03 00:41:33 · 432 阅读 · 0 评论 -
PHP模拟链表_学习链表的一些操作
使用PHP语言模拟链表学习链表的知识,更加容易理解原创 2015-06-25 23:17:29 · 579 阅读 · 1 评论 -
php语言_数据结构_树_学习笔记
使用PHP语言学习数据结构,对于我自己来说,觉得更加容易理解直接上代码树节点数据结构class TreeNode{ public $data; public $lchild = null; public $rchild = null; public function __construct($data='',$lchild=null,$rchild=null){ $th原创 2015-07-01 23:01:11 · 583 阅读 · 1 评论 -
求连续子数组最大和问题的两种解法_PHP实现
问题描述求子数组的最大和题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。关于连续子数组最大和这个问题,有两种解法,一种是动态规划解法如下: function getMaxSubSum($arr){ $curSum = $arr[0]; $原创 2015-07-07 22:25:47 · 1417 阅读 · 0 评论 -
求二叉树中节点的最大距离
《编程之美》中求二叉树中节点的最大距离的另一种非侵入解法原创 2015-07-07 22:10:06 · 525 阅读 · 0 评论 -
递归反转一个栈
递归反转一个栈,要求空间复杂度为1,不许重新申请一个同样的栈原创 2015-08-14 16:22:37 · 1472 阅读 · 0 评论