二叉查詢樹

2021-07-09 09:37:45 字數 1220 閱讀 7613

class node

}public

class main1

public

static

intfindmin(node head)

public

static

intfindmax(node head)

public

static node insert(node head, int number) throws exception

if(number > head.val)

head.rchild = insert(head.rchild, number);

else

if(number < head.val)

head.lchild = insert(head.lchild, number);

else

throw

new exception("equal number");

return head;}/*

* 刪除結點分三種方式刪除結點

* 1、刪除沒有子結點的結點,直接讓該結點的父結點的左結點或右結點指向空

* 2、刪除有乙個子結點的結點,直接讓該結點的父結點指向被刪除結點的剩餘結點

* 3、刪除有兩個子結點的結點,以被刪除結點的右結點的最左結點為後繼結點, 用該結點替代要刪除的結點

*/public

static boolean delete(node head, int key)

if(current == null)

return

false;

/** 第二步:根據刪除結點的3種型別做相應處理

*/if(current.lchild == null && current.rchild == null)

else

if(current.rchild == null)

else

if(current.lchild == null)

else

current.val = successor.val;

successor_parent.lchild = null;

}return

true;

}public

static

void

main(string args) throws exception

}

二叉樹 二叉查詢樹

構建二叉樹,判斷是否為二叉查詢樹,遞迴先序遍歷,非遞迴中序遍歷 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 ...