建立二叉排序樹

2021-07-23 06:29:34 字數 923 閱讀 1582

建立二叉排序樹

(1)建立二叉排序樹,二叉樹排序樹有個特點,

如果結點值大於根,則在右子樹去查詢插入位置,

如果小於樹根,在左子樹去查詢樹根,

如果相等,不作任何操作

(2)根據上面的特性,需要兩個結點,分別是當前結點和父節點

(3)先遍歷二叉樹節點,找到要插入的位置,根據父節點的指向要插入的位置

實現過程如下所示:

package cn.edu.nwu.tree;

/** * @author jcm

* *時間 2023年9月28日

*/public class insertbinarytree

/*** @author jcm

* (1)建立二叉排序樹,二叉樹排序樹有個特點,

* 如果結點值大於根,則在右子樹去查詢插入位置,

* 如果小於樹根,在左子樹去查詢樹根,

* 如果相等,不作任何操作

* (2)根據上面的特性,需要兩個結點,分別是當前結點和父節點

* (3)先遍歷二叉樹節點,找到要插入的位置,根據父節點的指向要插入的位置

* @param root

* @param data

* @return

*/public static treenode createbinarytree(treenode root,int data)

parent = current;

if(current.data < data)else

} treenode newnode = new treenode(data);

if(parent == null)else if(parent.data>data)else

return root;

}}

二叉排序樹的建立

首先二叉排序樹的查詢,這裡father用於記錄訪問點的前序,如果找到關鍵字,也就是程式中的e,則p指向這個結點,而father則指向p的父結點,如果沒有找到關鍵字,則father指向查詢路徑上的最後乙個結點,也可以理解為要插入的結點 關鍵插入father的左子樹或者右子樹 typedef struc...

二叉排序樹的建立

首先二叉樹排序樹 binary sort tree 簡稱bst,又叫二叉查詢樹。具有以下性質 若它的左子樹不為空,則左子樹上的所有結點的值均小於它的根結構的值 若它的右子樹不為空,則右子樹上的所有結點的值均大於它的根結構的值 它的左,右子樹也分別為二叉排序樹。簡單的概括起來就是 左 中 右 由此可知...

二叉排序樹的建立

二叉排序樹,又稱為二叉查詢樹。它或者是一棵空樹,或者是具有以下性質的二叉樹。1 若它的左子樹不為空,則左子樹上的所有節點的值均小於他的根的值 2 若他的右子樹不為空,則右子樹的所有節點的值均大於它的根的值 3 它的左右子樹也分別為二叉排序樹 二叉樹的結構 二叉樹的二叉鍊錶節點結構定義 typedef...