A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩冬 中级黑马   /  2013-6-24 00:52  /  996 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Super_Class 于 2013-6-24 18:18 编辑

求一个JAVA实现二叉树的具体代码过程。

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

1 个回复

倒序浏览
  1. import java.util.ArrayList;
  2.   
  3. //
  4. 树的一个节点

  5. class TreeNode {
  6.   




  7. Object _value = null; //
  8. 他的值
  9.   




  10. TreeNode _parent = null; //
  11. 他的父节点,根节点没有
  12. PARENT




  13. ArrayList _childList = new ArrayList(); //
  14. 他的孩子节点

  15.   




  16. public TreeNode( Object value, TreeNode parent ){








  17. this._parent = parent;








  18. this._value = value;




  19. }
  20.   




  21. public TreeNode getParent(){








  22. return _parent;




  23. }
  24.   




  25. public String toString() {  








  26. return _value.toString();




  27. }
  28. }
  29.   
  30. public class Tree {
  31.   




  32. //
  33. 给出宽度优先遍历的值数组,构建出一棵多叉树





  34. // null
  35. 值表示一个层次的结束
  36.   




  37. // "|"
  38. 表示一个层次中一个父亲节点的孩子输入结束





  39. //
  40. 如:给定下面的值数组:
  41.   




  42. // { "root", null, "left", "right", null }  




  43. //
  44. 则构建出一个根节点,带有两个孩子
  45. ("left","right")
  46. 的树





  47. public Tree( Object[] values ){








  48. //
  49. 创建根
  50.   








  51. _root = new TreeNode( values[0], null );
  52.   








  53. //
  54. 创建下面的子节点
  55.   








  56. TreeNode currentParent = _root; //
  57. 用于待创建节点的父亲









  58. //TreeNode nextParent = null;  








  59. int currentChildIndex = 0; //
  60. 表示

  61. currentParent
  62. 是他的父亲的第几个
  63. 儿子
  64.   








  65. //TreeNode lastNode = null; //
  66. 最后一个创建出来的
  67. TreeNode
  68. ,用于
  69. 找到他的父亲
复制代码

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马