麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
Php中二叉树的数据抽象
悬赏分:20 - 2007年08月13日

记得前几天有个人说,大家说c里的树啊什么的在php中如何表示?c中有结构,那在php中怎么搞啊,俺当时二话没说就回了个 php中有类!今天在复习数据结构的时候忽然发现了原来二叉树还可以用数组来抽象(俺的课上得不怎么勤快,见笑了)


如:假设一个完整二叉树得节点个数为n,那么它的深度为[log以2为底n的对数+1]。

此时用数组来描述二叉树时,数组的下标为0的元素不用,直接从下表为1的开始,根节点下标就是1,然后按下面的公式来算就可以了。
假设数组的下标都用 i 来表示,那么对于 array
A,父节点下标为 [i/2] ,若i=1则无父节点,
B,左儿子的下标为:2i 若2i > n 则无左儿子
C,右儿子的下标为:2i+1 若2i+1 > n 则无右儿子


然后,我们看看使用php中的类怎么来描述二叉树,俺觉得用这个类来描述二叉树就简单多了,
[php]
class binarytree {
var $selfdata="xxxxxxxxxxxxxxx";
var $left_child=0;
var $right_child=0;
}
$root=&new binarytree;
$root->left_child=&new binarytree;
$root->right_child=&new binarytree;

//以上代代码均未测试。
[/php]


俺觉得使用这个二叉树在php中用在权限限定方面可能会有点玩头,还没试过。。。。。不好意思。

提问者:nuying117   08-13 19:07
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
42 + 30 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM