第十周 專案2 二叉樹構造演算法的驗證

2021-08-10 04:53:57 字數 1628 閱讀 1450

*作 者:武美妤

*完成日期:2023年11月2日

*版 本 號:v1.0

*問題描述:二叉樹構造演算法的驗證

main.cpp

#include #include "order.h"

#include int main()

order.cpp

#include #include "order.h"

#include btnode *createbt1(char *pre,char *in,int n)/*pre存放先序序列,in存放中序序列,n為二叉樹結點個數,

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

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節點的右孩子節點指標

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

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

}order.h

#ifndef order_h_included

#define order_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節點的右孩子節點指標

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

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

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

知識點總結:任何n個不同結點的二叉樹,都可以由他的中序序列和先序序列唯一確定。

學習心得:二叉樹可以由中序序列和先序序列唯一確定,也可以由中序序列和後序序列唯一確定。

學習

第十周 專案一(2) 二叉樹的構造

all right reserved.檔名稱 btree 完成日期 2017年11月9日 版本號 v1.0 問題描述 二叉樹遍歷的遞迴演算法 輸入描述 標準函式輸入 程式輸出 二叉樹序列 btreee.h見 演算法庫 1.由先序序列和中序序列構造二叉樹 pre存放先序序列,in存放中序序列,n為二叉...

第十周 專案3 二叉樹的構造

1.由先序序列和中序序列構造二叉樹 例 根據定理的證明,寫出下面的演算法。品味 以上構造性證明是突出體現電腦科學的案例。計算機學科的精髓就在於製造,即使在 理論性 味道的定理中,其證明過程,給出的就是 存在的這麼乙個東西 的構造方法。參考解答 btreee.h見演算法庫 include includ...

第十周 專案1 二叉樹構造演算法的驗證(2)

作 者 李琳汐 完成日期 2017 年 11 月 16日 版 本 號 v1.0 問題描述 二叉樹的構造 1.由先序序列和中序序列構造二叉樹 例 根據定理的證明,寫出下面的演算法。include include include btree.h btnode createbt1 char pre,cha...