/**
* 樹節點
*/public class treenode
public void setleftnode(treenode leftnode)
public void setrightnode(treenode rightnode)
/*** 前序遍歷:先取父節點,再去左子節點,右子節點
*/public void frontshow()
//再取右子節點
if(this.rightnode!=null)
}/**
* 中序遍歷:先取左子節點,父節點,右子節點
*/public void midshow()
system.out.print(data);
if(rightnode!=null)
}/**
* 後序遍歷:先取左子節點,右子節點,父節點
*/public void lastshow()
if(rightnode!=null)
system.out.print(data);
}/**
* 二叉樹查詢
*/public treenode binarysearch(int i)else
//target不為空說明在左子節點找到了
if(target!=null)
if(rightnode!=null)
}return target;
}/**
* 刪除節點
*/public void delete(int i)
//在判斷右子節點
if(parent.rightnode.data==i)
//如果第二層節點沒找到,那麼第二層節點就當做被刪除節點的父節點繼續執行
//左子節點
parent=leftnode;
if(parent!=null)
//右子節點
parent=rightnode;
if(parent!=null)
}}
/**
* 二叉樹
*/public class binarytree
public treenode getrootnode()
//前序遍歷
public void frontshow()
}//中序遍歷
public void midshow()
}//後序遍歷
public void lashshow()
}//二叉樹查詢(前序)
public treenode binarysearch(int i)
//刪除節點
public void delete(int data)else
}}
資料結構(java) 樹
線性結構中,乙個節點至多只有乙個頭節點,至多只有乙個尾節點,彼此連線起來是一條完整的線。比如鍊錶和陣列 而樹,非線性結構的典型例子,不再是一對一,而變成了一對多 而圖則可以是 多對多 如下圖所示 幾個概念 1 根節點 父親節點 孩子節點 葉子節點 2 節點的度 節點擁有的子樹的數目稱為節點的度。比如...
重溫資料結構 樹 及 Java 實現
資料結構,指的是資料的儲存形式,常見的有線性結構 陣列 鍊錶,佇列 棧 還有非線性結構 樹 圖等 今天我們來學習下資料結構中的 樹。線性結構中,乙個節點至多只有乙個頭節點,至多只有乙個尾節點,彼此連線起來是一條完整的線。比如鍊錶和陣列 而樹,非線性結構的典型例子,不再是一對一,而變成了一對多 而圖則...
資料結構Huffman樹及編碼
一 實驗目的 構造乙個哈夫曼樹,並根據所構造的哈夫曼樹求其哈夫曼樹的編碼 二 基本思路 將每個英文本母依照出現頻率由小排到大,最小在左,組成乙個序列 每個字母都代表乙個終端節點 葉節點 比較每個字母的出現頻率,將最小的兩個字母頻率相加合成乙個新的節點,將兩個字母從序列中刪除,將生成的節點加入到字母佇...