第十四周專案2 二叉樹排序樹中查詢的路徑

2021-07-25 05:49:25 字數 1753 閱讀 2314

問題及**:

[cpp]view plain

copy

/** 檔名稱:cube007.cpp

* 作    者:楊俊傑

* 完成日期:2023年12月8日

** 問題描述:設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑

* 輸入描述:無

* 輸出描述:路徑

*/#include 

#include 

#define maxsize 100

typedef

intkeytype;                    

//定義關鍵字型別

typedef

char

infotype;  

typedef

struct

node                     

//記錄型別

bstnode;  

intpath[maxsize];                      

//全域性變數,用於存放路徑

void

dispbst(bstnode *b);               

//函式說明

intinsertbst(bstnode *&p,keytype k)    

//在以*p為根節點的bst中插入乙個關鍵字為k的節點

else

if(k==p->key)  

return

0;  

else

if(kkey)  

return

insertbst(p->lchild,k);  

//插入到*p的左子樹中

else

return

insertbst(p->rchild,k);  

//插入到*p的右子樹中

}  bstnode *creatbst(keytype a,int

n)  

//由陣列a中的關鍵字建立一棵二叉排序樹

//在二叉排序樹中查詢,記經過的節點記錄在path中,返回值為最後查詢節點在path中儲存的下標

intsearchbst(bstnode *bt,keytype k,keytype path,

inti)  

else

}  //查詢並顯示經過的路徑

void

searchresult(bstnode *bt, 

intk1)  

void

dispbst(bstnode *bt)  

//以括號表示法輸出二叉排序樹bt

}  }  int

main()  

,n=10;  

printf("建立的bst樹:"

);  

bt=creatbst(a,n);  

dispbst(bt);  

printf("\n"

);  

printf("  查詢%d關鍵字:"

,k1);  

searchresult(bt,k1);  

printf("  查詢%d關鍵字:"

,k2);  

searchresult(bt,k2);  

return

0;  

}  

執行結果:

第十四周上機實踐 專案2 二叉樹排序樹中查詢的路徑

檔名稱 test.cpp 完成日期 2015年11月30日 版本 v1.0 問題描述 設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑。輸入描述 無 輸出描述 所得結果。include include define maxsize 100 typedef int keytype 定義關...

第十四周專案2 二叉樹排序樹中查詢的路徑

設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑。include include define maxsize 100 typedef int keytype 定義關鍵字型別 typedef char infotype typedef struct node 記錄型別 bstnode ...

第十四周專案2 二叉樹排序樹中查詢的路徑

問題及 檔名稱 二叉樹排序樹中查詢的路徑.cpp 作 者 杜文文 完成日期 2015年 12月 7日 問題描述 設計乙個演算法,輸出在二叉排序中查詢時查詢某個關鍵字經過的路徑。include include define maxsize 100 typedef int keytype 定義關鍵字型別...