二叉排序樹,也稱為二叉查詢樹。可以是一顆空樹,也可以是一顆具有如下特性的非空二叉樹: 1. 若左子樹非空,則左子樹上所有節點關鍵字值均不大於根節點的關鍵字值; 2. 若右子樹非空,則右子樹上所有節點關鍵字值均不小於根節點的關鍵字值; 3. 左、右子樹本身也是一顆二叉排序樹。 現在給你n個關鍵字值各不相同的節點,要求你按順序插入乙個初始為空樹的二叉排序樹中,每次插入後成功後,求相應的父親節點的關鍵字值,如果沒有父親節點,則輸出-1。
輸入包含多組測試資料,每組測試資料兩行。第一行,乙個數字n(n<=100),表示待插入的節點數。
第二行,n個互不相同的正整數,表示要順序插入節點的關鍵字值,這些值不超過10^8。
輸出共n行,每次插入節點後,該節點對應的父親節點的關鍵字值。示例1
52 5 1 3 4
-122**如下:5
#include#include#include#includeusing namespace std;
typedef struct nodetnode;
void create(tnode* &tree,int x,int &t)elseelse
}if(flag)
pre->lchild=p;
else
pre->rchild=p;
t=pre->x;
return ;
}}int main()
}return 0;
}
二叉排序樹刪除節點
description 二叉排序樹的節點 auther eleven create 2020 04 09 20 43 public class node 新增方法 public void add node node if this value node.value else else else 中序...
二叉排序樹新增刪除節點
二叉排序樹 可以很快的檢索到具體的資料。什麼是二叉排序樹 讓左子節點的值小於父節點,右子節點的值大於父節點,這樣的二叉樹稱為二叉排序樹。往二叉排序樹中新增節點 首先要看新增節點的父節點是否為空,在判斷新增節點的值和父節點的值的大小關係,如果小,就放在左節點,如果大就放在右節點 新增節點 public...
二叉排序樹 插入 刪除 查詢
原本是想寫關於android分享功能的部落格,但是沒真機不好去測試,大白天的手機被3歲娃娃,拿去看少兒頻道了,關於二叉排序樹的定義是 二叉排序樹或者是一棵空樹,或者是具有下列性質的二叉樹 1 若左子樹不空,則左子樹上所有結點的值均小於它的根結點的值 2 若右子樹不空,則右子樹上所有結點的值均大於它的...