PHP构建的两叉树算法实例

PHP构建的两叉树算法实例
树(树)在数据结构中很重要,这表示两叉树用括号表示:
两个叉树节点
类BTnode {
公开数据;

公众左右美元= null;

公共rchild美元= null;

公共功能__construct($数据){
此数据;
}
}
然后建造两棵叉树。
函数的CreateBTNode($根,字符串str)
{
strarr美元= str_split($str);
$堆栈{ };
$ = NULL;
$顶部= 1;
$ = $ j = 0;
$ = null;
foreach(strarr美元美元,CH){
开关($ CH){
案例':
美元+;
array_push(合栈,P);
$ k=1;
打破;
案例':
array_pop($堆栈);
打破;
案例,:
$ k=2;
打破;
违约:
P =新的BTnode($ CH);
如果($根= = null){
$ root = $ P;
{人}
开关($ k){
案例1:
端(合栈)->左右= P;
打破;
案例2:
端(合栈)-> rchild = P;
打破;
}
}
打破;
}
}
}
这里是一个函数(在中间顺序遍历)中打印一个二叉树:
函数的PrintBTNode(元结)
{
如果($)节点!= NULL){
PrintBTNode($节点->左右);
回波$节点>数据;
PrintBTNode($节点-> rchild);
}
}
运行结果:
输入一个字符串

a(b(c,d),g(f))
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部