用Java2D畫出樹的結構_v0.1.0
先看效果圖:
定義樹的資料結構
- /**
- * 2010-11-8
- * John
- */
- package tree;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 樹的結構
- * @author John
- *
- */
- publicclass Node {
- private String name; //該結點名字
- privateint layer = 0; //該結點層級
-
private List<Node> childs =
- public Node(String name){
- this.name = name;
- }
- /**
- * 增加一個孩子
- * @param n 要作為孩子增加的結點
- */
- publicvoid add(Node n){
- if(childs == null)
- childs = new ArrayList<Node>();
- n.setLayer(layer+1);
-
setChildLayout(n);
- childs.add(n);
- }
- /**
- * 遞迴設定孩子的層級
- * @param n
- */
- privatevoid setChildLayout(Node n){
- if(n.hasChild()){
- List<Node> c = n.getChilds();
- for(Node node : c){
-
node.setLayer(node.getLayer()+1);
- setChildLayout(node);
- }
- }
- }
- /**
- * 獲取結點名
- * @return 結點名
- */
- public String getName() {
- return name;
- }
- /**
- * 設定結點名
- * @param name 結點名
- */
- publicvoid setName(String name) {
- this.name = name;
- }
- /**
- * 獲取該結點的層級
- * @return 該結點的層級
- */
- publicint getLayer() {
- return layer;
- }
- /**
- * 設定該結點的層級
- * @param layer 該結點的層級
- */
- publicvoid setLayer(int layer) {
- this.layer = layer;
- }
- /**
- * 獲取該結點的孩子
- * @return 所有孩子結點
- */
- public List<Node> getChilds() {
- return childs;
- }
- /**
- * 檢查是否存在孩子
- * @return 是則返回true,否則返回false
- */
- publicboolean hasChild(){
- return childs == null ? false : true;
- }
- /**
- * 遞迴列印所有的結點(包括子結點)
- * @param n 要列印的根結點
- */
- publicvoid printAllNode(Node n){
- System.out.println(n);
- if(n.hasChild()){
- List<Node> c = n.getChilds();
- for(Node node : c){
- printAllNode(node);
- }
- }
- }
- public String getAllNodeName(Node n){
- String s = n.toString()+"/n";
- if(n.hasChild()){
- List<Node> c = n.getChilds();
- for(Node node : c){
- s+=getAllNodeName(node)+"/n";
- }
- }
- return s;
- }
- public String toString(){
- return layer+"層/t: "+name;
- }
- }
Node的測試類:
- /**
- * 2010-11-9
- * John
- */
-
相關推薦
用Java2D畫出樹的結構_v0.1.0
原文地址:http://blog.csdn.net/kakashi8841/article/details/5996778 先看效果圖: 定義樹的資料結構 /**
用Java2D畫出樹的結構(是不是感覺標題很熟悉)
前言 感覺標題很熟悉的就對了,因為其實這是我碰到了一個作業要畫出樹,然後就百度了一下,參考了另一位學者kakashi8841(姑且就這麼叫吧)的文章和程式碼,才做完了作業。下面是連結: 本文的內容就是改進了原文的Bug,所以說大部分和原文很像。
用matlab畫出概率密度分佈圖1
比方說,你的資料在y這個陣列中. y=rand(1,3000) ymin=min(y); ymax=max(y); x=linspace(ymin,ymax,20);%將最大最小區間分成20個等分點(19等分),然後分別計算各個區間的個數 yy=hist(y,x);
用div 畫出三角形
gpo 元素 如果 圖片 代碼 solid pos adding pad 畫三角形的代碼: border-top: 10px solid rgba(0,0,0,0); border-bottom: 10px solid rgba(0,0,0,0); bor
mybatis 實現遞迴查詢出樹結構節點
mybatis 實現遞迴查詢出樹結構節點 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.
## 用Python畫出等高線,並且設定xy軸刻度標籤
import matplotlib.pyplot as plt import numpy as np fig = plt.figure(figsize=(9, 6)) # 定義等高線高度函式 def f(x, y): return (pow(x,3)+pow(y,3)-15*x-20*
用gnuplot畫出c產生資料的波形圖
文章目錄資料程式碼畫圖問題修正 資料 用c產生表示式為: s(t)=sin(pit)+2cos(pit)的資料,輸出為t跟s。 程式碼 #include<stdio.h> #include<math.h> #define pi 3.14
用CSS畫出三角形
隨著css3.0的出現,我們可以畫出越來越多比較新穎的圖形,這裡我介紹一下用css3畫出三角形。 首先我們給個div <div id="triangle"></div> 下面就是我們的css程式碼, 先看個例子 #trian
用Java實現簡單樹結構
Node實體: package treeTest; import java.io.Serializable; import java.util.List; /** * ClassName: No
OpenCV畫出CvBox2D結構(轉)
對給定的 2D 點集,尋找最小面積的包圍矩形,使用函式: CvBox2D cvMinAreaRect2( const CvArr* points, CvMemStorage* storage=NULL ); points 點序列或點集陣列 storage 可選的臨時
用Python畫出平滑的曲線(插值法)
實現所需的庫 numpy、scipy、matplotlib 實現所需的方法 插值 nearest:最鄰近插值法 zero:階梯插值 slinear:線性插值 quadratic、cubic:2、3階B樣條曲線插值 擬合和插值的區別 簡
用函式畫出可愛的卡通貓
函式共 268 頁 11783 行,前後折騰了近半個月。可惜還是有些小瑕疵,不然文章標題就該叫《震驚!死宅竟用三角函式畫出可愛的老婆》了...... 用函式畫的 Pusheen 畫 Pusheen 的函式 前言 在推上看到這樣一張圖: Twitter截圖 覺著用函式畫妹子什麼的好有趣,決
第16周 點結構體1.0
問題: 請編寫程式,輸入一點的橫縱座標,輸出該點到原點的距離 #include <stdio.h> #include <stdlib.h> #include<math.h> struct Point { float x; /
ROC曲線是通過樣本點分類概率畫出的 例如某一個sample預測為1概率為0.6 預測為0概率0.4這樣畫出來,此外如果曲線不是特別平滑的話,那麽很可能存在過擬合的情況
pro TE 直線 算法 false .net ear 明顯 ever ROC和AUC介紹以及如何計算AUC from:http://alexkong.net/2013/06/introduction-to-auc-and-roc/ ROC(Receiver Operati
百度地圖API-調用後臺接口畫出點位
調用 doctype ets 地圖展示 展示 char title polyline 1.10 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co
用動畫的方式畫出任意的路徑(直線、曲線、折現)
pub length 資料 new object n) 整體 for duration 原文:用動畫的方式畫出任意的路徑(直線、曲線、折現) 版權聲明:本作品采用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。歡迎轉載
Effective前端1---chapter 2 用CSS畫一個三角形
-- 前端 highlight ive 類元 light sha 畫法 兩個 1.CSS畫三角形的畫法 第一步:三角形可以用border畫出來,首先一個有四個border的div長這樣: <div class="triangle"></div>
一個好用的線上思維導圖工具,擁有靈感快速畫出精品思維導圖
一般情況下繪製思維導圖有兩種方法,一種是手繪,另一中是使用思維導圖工具, 線上思維導圖模板優點是不用下載,在迅捷思維導圖中選擇好模板便可直接開啟使用再次編輯,不用考慮格式和軟體安裝的問題。 工具: 迅捷思維導圖 www.siweidaotu.com 推薦理由: 免費建立思維
資料結構——3.1樹與樹的表示
一、引言 層次結構舉例 家譜、城市(鄉鎮),檔案管理系統等 為什麼用層次結構呢? 分層次組織在管理上具有更高的效率 查詢 靜態查詢:對查詢的集合沒有插入和刪除操作,只有查詢 動態查詢:對查詢的集合除查詢外,還可能發生插入和刪除 二分查詢的啟示 例如11個元素的二