Как напечатать ключи дерева B в древовидной манере ?
int k = 200 ; // defined in same class as the function print . public void print ( BNode n ) { for ( int k = temp ; k>=0 ; k=k-30 ) { System.out.print(" "); } for ( int i = 0 ; i < n.count ; i++ ) { System.out.print ( n.getValue(i) + " " ) ; } if ( !n.leaf ) { System.out.println ("") ; for ( int j = 0; j <= n.count ; j++ ) { temp = temp -- ; if ( n.getChild(j) != null ) { print( n.getChild(j) ) ; } } } }
Я не могу придумать способ напечатать Ключевые значения в виде дерева . Я хочу , чтобы корневой узел был посередине, дочерние узлы начинались со следующей строки и оставляли большинство дочерних слева от корня и так далее .
Пожалуйста помочь .
Что я уже пробовал:
Реализован код на языке Java .
Richard MacCutchan
Сначала вам нужно будет построить список всех узлов, вычисляя их относительное положение в дереве. Как только у вас есть эта информация, вы можете рассчитать, где на вашей распечатке вам нужно разместить каждый из них на древовидной диаграмме.