第十一周專案1 驗證演算法(2)

2021-07-07 02:27:12 字數 1778 閱讀 8651

2015,煙台大學計算機與控制工程學院

檔名稱:第十一周專案1 - 驗證演算法

作    者:楊惠娟

完成日期:2023年11月9日

版 本 號:v1.0

問題描述:  執行並重複測試教學內容中涉及的演算法。改變測試資料進行重複測試的意義在於,可以從更多角度體會演算法,以達到逐漸掌握演算法的程度。使用你的測試資料,並展示測試結果,觀察執行結果,以此來領會演算法。

(2)二叉樹構造演算法的驗證

輸入描述: 無。

程式輸出: 對應資料的輸出。

1.標頭檔案:

#ifndef btree_h_included

#define btree_h_included

#define maxsize 100

typedef char elemtype;

typedef struct node

btnode;

void createbtnode(btnode *&b,char *str); //由str串建立二叉鏈

btnode *findnode(btnode *b,elemtype x); //返回data域為x的節點指標

btnode *lchildnode(btnode *p); //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p); //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b); //求二叉樹b的深度

void dispbtnode(btnode *b); //以括號表示法輸出二叉樹

void destroybtnode(btnode *&b); //銷毀二叉樹

#endif // btree_h_included

2.原始檔:

#include #include #include "btree.h"

void createbtnode(btnode *&b,char *str) //由str串建立二叉鏈}}

j++;

ch=str[j];

}}btnode *findnode(btnode *b,elemtype x) //返回data域為x的節點指標

}btnode *lchildnode(btnode *p) //返回*p節點的左孩子節點指標

btnode *rchildnode(btnode *p) //返回*p節點的右孩子節點指標

int btnodedepth(btnode *b) //求二叉樹b的深度

}void dispbtnode(btnode *b) //以括號表示法輸出二叉樹

}}void destroybtnode(btnode *&b) //銷毀二叉樹

}

3.main函式:

#include #include #include "btree.h"

btnode *createbt1(char *pre,char *in,int n)

/*pre存放先序序列,in存放中序序列,n為二叉樹結點個數,

本演算法執行後返回構造的二叉鏈的根結點指標*/

int main()

執行結果:

第十一周 專案1 驗證演算法(2)

問題描述 二叉樹構造演算法的驗證。輸入描述 若干資料 程式輸出 若干資料 1 標頭檔案 二叉樹演算法庫 2 原始檔 方法一 由先序序列和中序序列構造二叉樹 include include include btree.h btnode createbt1 char pre,char in,int n ...

第十一周專案1 驗證演算法(2)

程式 檔名稱 1.cpp 完成日期 2016年11月10日 版本號 vc6.0 問題描述 二叉樹構造演算法的驗證 輸入描述 無 程式輸出 測試結果 include include define maxsize 100 typedef char elemtype typedef struct node...

第十一周專案1驗證演算法

define maxsize 100 typedef char elemtype typedef struct node btnode void createbtnode btnode b,char str 由str串建立二叉鏈 btnode findnode btnode b,elemtype x...