java中求二叉树的所有节点值的汇总的算法

shengyh 2004-04-22 12:13:59
public BinaryTreeNode(String as_ClientID,
BigDecimal aBd_BS,
String as_LeftID,
String as_RightID)
结构如上。
1
2 3
4 5 6 7
对应的aBd_BS,ClientID =1, aBd_BS=1
ClientID =2, aBd_BS=2
ClientID =3, aBd_BS=3
ClientID =4, aBd_BS=4
方法:getAllBS(ClientID, 该二叉树的HashMap结构)
HashMap的Key是ClientID,value是BinaryTreeNode。
如何拿到clientID下所有的sumBS?getAllBS方法传的参数也可以变。
...全文
204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluesmile979 2004-04-22
  • 打赏
  • 举报
回复
public void getAllBS( HashMap result, String root_clientid ){
BTN root = hashmap.get(root_clientid)
if( root == null )return
String kleft = root.as_LeftID;
if( kleft != null ){
BTn vleft = hashmap.get( kleft );
if( vleft!= null ){
result.put( kleft, vleft );
getAllBS( result, kleft );
}
}
String kright = root.as_RightID;
if( kright != null ){
BTn vright = hashmap.get( kright );
if( vright!= null ){
result.put( kright, vright );
getAllBS( result, kright )
}
}

}
bluesmile979 2004-04-22
  • 打赏
  • 举报
回复
临时写的,凑合看吧。不好意思了

BinaryTreeNode->BTN


public void getAllBS( HashMap result, String root_clientid ){
BTN root = hashmap.get(root_clientid)
if( root == null )return
String kleft = root.as_LeftID;
if( kleft != null ){
BTn vleft = hashmap.get( kleft );
if( vleft!= null ){
result.put( kleft, vleft );
getAllBS( kleft );
}
}
String kright = root.as_RightID;
if( kright != null ){
BTn vright = hashmap.get( kright );
if( vright!= null ){
result.put( kright, vright );
getAllBS( kright )
}
}

}
whyxx 2004-04-22
  • 打赏
  • 举报
回复
遍历一把,加起来不就行了.
gzhua99 2004-04-22
  • 打赏
  • 举报
回复
递归的做

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧