二叉查詢樹

2021-09-21 06:10:26 字數 1307 閱讀 5399

二叉查詢樹是一種特殊的二叉樹,該資料結構的核心性質是:

對於樹中的每個節點x,它的左子樹中所有關鍵字值小於x的關鍵字值,而它的右子樹中所有關鍵字值大於x的關鍵字值

type tree_data struct 

type tree_node struct

func new_tree_node(num int, data tree_data, parent *tree_node) *tree_node 

node.num = num

node.data = data

node.left_point = nil

node.right_point = nil

node.parent = parent

return &node

}

func (t *tree_node) makeempty() 

if t.right_point != nil

t.num = 0

t.data = tree_data{}

}

查詢時:

func (t *tree_node) find(num int) (*tree_node, error) , errors.new("num not exsist")

} else

} else if num < t.num , errors.new("num not exsist")

} else

} else

}

func (t *tree_node) findmin() *tree_node  else 

}func (t *tree_node) findmax() *tree_node else

}

插入時:

func (t *tree_node) insert(num int, data tree_data)  else 

} else if num < t.num else

} else

}

刪除時,若刪除的是本節點,則:

func (t *tree_node) delete(num int)  else if num > t.num  else  else 

} else else if t.right_point == nil else }}

}

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 include include include include using namespace std 二叉樹結點 struct treenode 鍊錶結點 struct listnode struct tempnodetempnode...

二叉樹 二叉查詢樹

二叉樹 binary tree 一種樹型結構,每個節點最多擁有兩個節點。如下圖 幾種型別的二叉樹 1.full binary tree 每個節點的孩子數 是 0 或者 2.對高度沒有要求。如下圖 2.perfect binary tree 這個就是最完美的樹,顧名思義,所有葉子節點都有相同的深度,並...

樹(樹,二叉樹,二叉查詢樹)

1.定義 n n 0 個結點構成的有限集合。當n 0時,稱為空樹 2.對於任一棵非空樹 n 0 它具備以下性質 1 樹中有乙個稱為 根 root 的特殊結點,用 r 表示 2 其餘結點可分為m m 0 個互不相交的有限集t1,t2,其中每個集合本身又是一棵樹,稱為原來樹的子樹。3.樹的一些性質 1 ...