查詢樹的基本操作

2022-09-15 09:00:10 字數 1163 閱讀 3907

第一行輸入 乙個整數n,

第二行接下來n個整數,互不相同,

第三行輸入乙個整數m<=n;

接下來m行每行乙個整數為要刪除的整數都是上面出現過的整數。

view code

/*

其中沒有相同的元素

*/#include

using

namespace std;

typedef struct findtree

}findtree;

bool flag=false;

void addtree(findtree *root,int key)

else addtree(root->left,key);

}else

if(key>root->date)

else addtree(root->right,key);}}

findtree *findleftmax(findtree *root)

return root;

}findtree *find(findtree *root,int key)

void deletetree(findtree *root,int key)

if(r->datepre->date)

if(r->pre->datedate)

}else

if(r->left==null)//

左邊無孩子

else

if(r->right==null)//

右邊無孩子

else

//有兩個孩子

}void output(findtree *root)

int main()

output(root);cout

cin>>m;

for(i=0;i>t;

deletetree(root,t);

output(root);

cout

/*10

5 2 4 1 8 0 9 6 3 7103

8 5

41 3 2 441

23 43

2 1 33 3

2165 2 6 1 4 365

4321

643 2 4 143

214*/

二叉查詢樹的基本操作

二叉查詢樹 對於樹中的每個節點x,它的左子樹所有關鍵字小於x的關鍵字,而右子樹的所有關鍵字大於x的關鍵字。二叉查詢樹的平均深度是o logn 二叉查詢樹的刪除操作 如果有乙個兒子,調節父節點指標繞過該節點後被刪除。如果有兩個兒子,用右子樹的最小資料代替該節點的資料,並遞迴地刪除那個節點 現在它是空的...

樹的基本操作

輸入輸入某二叉樹的前序遍歷和中序遍歷的結果,請重構該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不包含重複的數字。例如,輸入前序遍歷序列和中序遍歷序列,重建該樹。樹的結點類如下 class treenode 通過前序遍歷獲取根節點的值,然後遍歷中序遍歷序列,找到根節點,將中序遍歷陣列分成左右兩個樹...

平衡樹的基本操作

題目名稱 2056 2002湖南 營業額統計 題目簡述 description tiger 最近被公司公升任為營業部經理,他上任後接受公司交給的第一項任務便是統計並分析公司成立以來的營業情況。tiger 拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業額。分析營業情況是一項相當複雜的工作。由於節...