資料結構實驗4分類二叉樹的構建

2021-03-04 00:31:16 字數 1387 閱讀 8487

資料結構《實驗4》實驗報告

實驗專案4:分類二叉樹的構建

實驗結果(執行結果介面及源程式,執行結果介面放在前面):

#include

#include

#include

#include

#define student etype

struct student

;struct binarytreenode

;struct stype

;struct node_ptr

;struct stack

;void creatstack(stack &s,int maxstacksize)

bool isempty(stack &s)

bool isfull(stack &s)

bool push(stack &s,stype &x)

bool pop(stack &s,stype &result)

void binarydelete(binarytreenode *bt)

}int binaryheight(binarytreenode *bt)

void outputbinarytreenode(binarytreenode *p)

void inorderrecursive(binarytreenode *bt)

if(!isempty(s))

}}bool sortbinarytreesearch(binarytreenode *bt,etype &x,int &searchkey)

bool sortbinarytreeinsert(binarytreenode *&bt,etype &x)

else

bt=q;

return true;

}binarytreenode * sortbinarytreedelete(binarytreenode *bt,int &searchkey)

if(!p)

//對分類二叉樹重構

if(p->lchild&&p->rchild)

p->data=son->data; //左子數的最右子孫最接近被刪節點的值,進行替換 (右子樹的最左子孫也接近被刪節點)

p=sonp指向最右子孫

parent=ps雙重指標

}if(p->lchild) //p最多隻存在乙個子樹解決只有左子樹的情況此句也是解決上一條if語句後最右子孫的左子樹連線問題

son=p->lchild; //son指向該被刪p的左子樹

else

son=p->rchild; //p存在右子樹或者無子樹此句也是解決上一條if語句後最右子孫的右子樹連線問題

if(p==bt)

else

delete p;

return bt;

資料結構練習二叉樹

學號 31301374 姓名張一博班級軟體工程1301 一 選擇題 1 按照二叉樹定義,具有3個結點的二叉樹共有 c 種形態。a 3 b 4 c 5d 6 2 具有五層結點的完全二叉樹至少有 d 個結點。a 9 b 15 c 31 d 16 3 以下有關二叉樹的說法正確的是 b a 二叉樹的度為2b...

資料結構試驗 二叉樹

實驗報告名稱 姓名學號專業班級 日期實驗6 二叉樹的建立及遍歷 一 實驗目的 1 學會實現二叉樹結點結構和對二叉樹的基本操作。2 掌握對二叉樹每種操作的具體實現,學會利用遞迴方法編寫對二叉樹這種遞迴資料結構進行處理的演算法。二 實驗要求 1 認真閱讀和掌握和本實驗相關的教材內容。2 編寫完整程式完成...

資料結構實驗樹和二叉樹的應用

課程題目 資料結構實驗 學院 班級 姓名 學號 實驗題目 樹和二叉樹的應用 實驗內容 哈夫曼編碼設計 實驗目的 掌握樹和二叉樹的概念及工作原理,運用其原理及概念完成上述實驗題中的內容。實驗要求 為了使學生更好的掌握與理解課堂上老師所講的概念與原理,實驗前每個學生要認真預習所做的實驗內容及編寫源程式偽...