--------X--------
----X-------X----
--X---X---X---X--
-X--X---X---X--X-
XXXXXXXXXXXXXXXXX最底层 顶层一个节点,下一层有 两个 然后4, 8,16个 最底层是16个字符
请帮忙用递归的方法 画一下这个二叉树的图 我想了好久总是不对 请高手指点下
----X-------X----
--X---X---X---X--
-X--X---X---X--X-
XXXXXXXXXXXXXXXXX最底层 顶层一个节点,下一层有 两个 然后4, 8,16个 最底层是16个字符
请帮忙用递归的方法 画一下这个二叉树的图 我想了好久总是不对 请高手指点下
解决方案 »
- ClassLoader为何使用委派模型?
- J2EE的学习需要些什么
- 构造方法问题??
- 如何优化?这四个问题怎么解决?
- 想听听大家对 static 命名的函数、变量的用法
- 关于JDBC问题
- IE不能显示用了swing 的APPLET??? 在线等~~~~~~~~`
- jb7安装好了,有谁知道serial number和key啊,高分
- jtree能修改吗?我想在JB5里做一个树型结构,用JTREE可以吗?
- 请教这个利用JPCAP抓包的按钮监听。程序已写完且抓包成功,但有两个小问题!
- 100分讨论一个关于验证IP是否在定义范围内的算法
- JVM中的stack和heap与数据结构中所说的stack和heap是一个概念吗
----X-------X----
--X---X---X---X--
-X--X---X---X--X- //你这里为什么只有5个X?
XXXXXXXXXXXXXXXXX
我简单写了(超丑),太困了脑子不好使,注释懒得加了 ,睡觉!public class test2 { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
boolean [] table=new boolean[16];
DrawTree(table, 0);
}
public static void DrawTree(boolean[] table,int deep)
{
boolean[] drawTable=new boolean[table.length];
System.arraycopy(table, 0, drawTable, 0, table.length);
if(deep==5)
{
return;
}else {
int temp=-1;boolean ctr=true;
for(int j=0;j<table.length;j++)
{
if(!table[j])
{
if(ctr)
{
temp=j;
ctr=false;
}else {
table[temp]=true;
table[j]=true;
table[(temp+j+1)/2]=false;
ctr=true;
}
}else {
table[j]=true;
}
}
DrawTree(table,deep+1);
for(int i=0;i<drawTable.length;i++)
{
if(drawTable[i])
System.out.print("-");
else
System.out.print("X");
}
System.out.println();
}
}}