資料結構 Java編碼實現樹

2021-09-20 15:34:14 字數 1410 閱讀 7290

/**

* 樹節點

*/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樹及編碼

一 實驗目的 構造乙個哈夫曼樹,並根據所構造的哈夫曼樹求其哈夫曼樹的編碼 二 基本思路 將每個英文本母依照出現頻率由小排到大,最小在左,組成乙個序列 每個字母都代表乙個終端節點 葉節點 比較每個字母的出現頻率,將最小的兩個字母頻率相加合成乙個新的節點,將兩個字母從序列中刪除,將生成的節點加入到字母佇...