1.二叉樹的原理分析
樹是一種重要的非線性資料結構,直觀地看,它是資料元素(在樹中稱為結點)按分支關係組織起來的結構。二叉樹(binary tree)是每個節點最多有兩個子樹的有序樹。通常子樹被稱作「左子樹」和「右子樹」。
二叉樹演算法的排序規則:
(1)選擇第乙個元素作為根節點
(2)之後如果元素大於根節點放在右子樹,如果元素小於根節點,則放在左子樹
(3)最後按照中序遍歷的方式進行輸出,則可以得到排序的結果(左→根→右)
2.二叉樹實現
package com.vince.bt;
/** * 二叉樹實現
* @author lamp
* */
public class binarytreedemo
}
package com.vince.bt;
public class binarytree else }
//輸出節點,提供給類外部呼叫
public void print() }
//節點類
class node
//新增節點
public void addnode(int data)else
}else if(this.data<=data)else
}} //輸出節點(中序遍歷:左根右)
public void printnode()
system.out.print(this.data+" ");
if(this.right!=null)
} }}
資料結構之二叉樹
在二叉樹中每個節點最多只能有兩個子節點。即左子節點和有子節點。在二叉樹中最重要的操作應當是遍歷。即按照某一順序訪問二叉樹中的每乙個節點。一般有如下幾種遍歷方法 1 前序遍歷,即先訪問根幾點,然後再訪問左子節點,最後訪問右子節點。2 中序遍歷,即先訪問左子節點,然後再訪問根節點,最後訪問右子節點。3 ...
資料結構之二叉樹
定義 滿足以下條件的就是樹 1.有且僅有乙個特定的稱為根root的結點。2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是乙個棵樹,並稱為根的子樹。樹是資料結構中一種常見的資料結構,比如我們排序中常見的二叉樹,紅黑樹等。最常見的是樹形表示法和廣義表表示法。樹的結構示意...
資料結構之二叉樹
來看一下樹的結構 class treenode public treenode string value 首先,為了方便後面看到效果,先手動初始化乙個有4個節點的二叉樹 tree tree new tree treenode root new treenode root treenode node1...