第十四周 查詢 專案三

2021-07-25 05:50:36 字數 1403 閱讀 6423

*計算機控制工程學院

*班級:計156-2

*姓名:陳飛

*問題及**:

#include #include #define maxsize 100  

typedef int keytype; //定義關鍵字型別

typedef char infotype;

typedef struct node //記錄型別

bstnode;

int path[maxsize]; //全域性變數,用於存放路徑

void dispbst(bstnode *b); //函式說明

int insertbst(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中的關鍵字建立一棵二叉排序樹

} }

/* int judgebst(bstnode *bt)為判斷乙個樹是否為排序二叉樹設計的演算法的實現

*/

keytype predt=-32767; //predt為全域性變數,儲存當前節點中序前趨的值,初值為-∞

int judgebst(bstnode *bt) //判斷bt是否為bst

} int main()

,n=10;

printf("建立排序二叉樹:");

bt=creatbst(a,n);

dispbst(bt);

printf("\n");

printf("bt%s\n",(judgebst(bt)?"是一棵bst":"不是一棵bst"));

bt->lchild->rchild->key = 30; //搞個破壞!

printf("修改後的二叉樹:");

dispbst(bt);

printf("\n");

printf("bt%s\n",(judgebst(bt)?"是一棵bst":"不是一棵bst"));

return 0;

}

第十四周專案三

問題及 all right reserved.檔名稱 是否二叉排序樹.cpp 版本號 v1.0 問題描述 設計乙個演算法,判斷給定的二叉樹是否是二叉排序樹。輸入描述 用二叉樹的形式輸入數字 程式輸出 判斷結果 include include define maxsize 100 typedef in...

第十四周專案三

檔名稱 jcy 作 者 賈存鈺 完成日期 2017 年 12 月 7 日 問題描述 實現b 樹的基本操作。基於序列完成測試。1 建立對應的3階b 樹b,用括號法輸出b樹。2 從b中分別刪除關鍵字為8和1的節點,用括號法輸出刪除節點後的b樹。輸入描述 無需輸入 程式輸出 實現各種演算法的函式的測試結果...

第十四周 分塊查詢

all right reserved.date 2015年11月30日 版本 v1.0.1 作業系統 xp 執行環境 vc6.0 問題描述 驗證線性表的分塊查詢演算法。include define maxl 100 資料表的最大長度 define maxi 20 索引表的最大長度 typedef i...