雖然說是二元樹,其實也只是用 txt 檔寫出資料所在位置跟資料代碼罷了囧,圖形還不會用
像這樣:
1,a
2,b
3,c
5,d
6,e
10,f
11,g

================================

import java.io.*;
import java.util.*;

class BinaryTree{
 char[] data;
 BinaryTree(File f,int d)throws FileNotFoundException{
  int z = (int)Math.pow(2.0,(double)d);
  data = new char[z];
  Scanner r = new Scanner(f);
  while(r.hasNextLine()){
   String s = r.nextLine();
   StringTokenizer stk = new StringTokenizer(s,",");
   int id = Integer.parseInt(stk.nextToken());
   char c = stk.nextToken().charAt(0);
   data[id] = c;
  }
  r.close();
}

void inorderTraverse(int t){
 if(t>=data.length || data[t]==0)
  return;
 inorderTraverse(2*t);
 System.out.print(data[t]+" ");
 inorderTraverse(2*t+1);
 }
}

public class treetraverse{
 public static void main(String[] alio)throws FileNotFoundException{
  File f = new File("tree.txt");
  int d = 4;  //tree的深度
  BinaryTree t = new BinaryTree(f,d);
  System.out.println("inorder traversal = ");
  t.inorderTraverse(1);
  System.out.println();
 }
}

================================

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 steven70101 的頭像
    steven70101

    老人家的舊書房

    steven70101 發表在 痞客邦 留言(1) 人氣()