日期:2014-05-20  浏览次数:20827 次

如何用java画一棵二叉树
类似这样就可以了:      
                                                                                                                        a      
                                                                                                                    /       \      
                                                                                                                b               c      
                                                                                                            /       \      
                                                                                                        d               e      
       
    最好每个节点画在一个圆圈里面  
       


------解决方案--------------------
语文没学好啊,不懂楼主到底是什么用意。
------解决方案--------------------
lz 的意思是polosh notation吗?
例如输入: 1*2+3

输出:
+
/ \
* 3
/ \
1 2

------解决方案--------------------
level traversal
------解决方案--------------------
< <数据结构与算法> > java语言版
------解决方案--------------------
覆盖paintComponent(Graphics g)方法

使用Graphics2D进行绘制, 圆和线都可以直接画出来, 但要精确地绘制一颗树, 需要你自己控制坐标, 如果是任意节点树, 估计计算坐标也是有一定难度的...
------解决方案--------------------
当画一个节点的时候样传入的是坐标X,Y和父节点的就可以了
MiddleHead(TreeNode node, int x1, int y1, int x2, int y2, double alpha)
node:表示当前的节点,
x1, y1 当前节点的父节点的坐标(父节点不存在的时候可以设为负数,然后在后面判断)
x2, y2 当前节点的坐标
alpha表示父节点和当前节点连线的倾角(不能使用相同的角度,否则会出现2个节点重合的现象)