20202307 實驗八《樹》實驗報告

2022-09-10 03:45:09 字數 1664 閱讀 6850

目錄實驗過程中遇到的問題及解決過程

其他(感悟、思考等)

參考資料

課程:《程式設計與資料結構》

班級: 2023

姓名: 範宇涵

學號:20202307

實驗教師:王志強

實驗日期:2023年11月25日

必修/選修: 必修

參考教材pp16.1,完成鏈樹linkedbinarytree的實現(getright,contains,tostring,preorder,postorder)

用junit或自己編寫驅動類對自己實現的linkedbinarytree進行測試,提交測試**執行截圖,要全屏,包含自己的學號資訊

課下把**推送到**託管平台

基於linkedbinarytree,實現基於(中序,先序)序列構造唯一一棵二㕚樹的功能,比如給出中序hdibemjnafckgl和後序abdhiejmncfgkl,構造出附圖中的樹

用junit或自己編寫驅動類對自己實現的功能進行測試,提交測試**執行截圖,要全屏,包含自己的學號資訊

課下把**推送到**託管平台

自己設計並實現一顆決策樹

提交測試**執行截圖,要全屏,包含自己的學號資訊

課下把**推送到**託管平台

輸入中綴表示式,使用樹將中綴表示式轉換為字尾表示式,並輸出字尾表示式和計算結果(如果沒有用樹,正常評分。如果用到了樹,即使有小的問題,也酌情給滿分)

提交測試**執行截圖,要全屏,包含自己的學號資訊

遞迴造樹時,使用陣列自增a[i++]。

非遞迴造樹時,根據需求定義多個add方法,填充空樹。

樹的實現具體靠鏈式結構還是陣列結構視情況而定。有些時候通過陣列下標訪問會更快。比如陣列下標為n的左右子樹下標分別為2n及2n+1.

有些樹需要借助其他資料型別構造。比如根據前序、中序、後序表示式構造一棵樹,需要用到棧。

大多數情況下還是用遞迴造樹,造了這麼多樹,虛空結點的樹我覺得比較典型,造樹**如下:

public tree(string str) 

//一定要把root換成create後的root

root=createtree(root,a);

}//建立虛空結點的樹

public node createtree(node x,string data)

return x;

}

遞迴演算法

void preorder(const treenode *root)

printf("%c ", root->data); //輸出根節點的值

preorder(root->left); //前序訪問左子樹

preorder(root->right); //前序訪問右子樹

}

非遞迴方法

void preorderloop(treenode *root)

top = s.top();

s.pop();

cur = top->right;

}}

樹的結構在演算法中使用非常普遍,也非常實用。它既可以用於日常生活中的分類討論,也可以用於機器學習,通過決策樹構建**模型,推測可能的結果,幫助人們更好的決策。關於樹的奧秘和用法,我將在今後的學習中不斷探索。

實驗八 D A 轉換實驗

實驗八d a轉換實驗 一 實驗要求 利用dac0832,編制程式產生方波 鋸齒波 三角波。三種波形可以用示波器 二 實驗目的 1.了解d a轉換的基本原理。2.了解d a轉換晶元0832的效能及程式設計方法。3.了解微控制器系統中擴充套件d a轉換的基本方法。三 實驗原理 d a轉換器輸入的是數字量...

實驗 八 模板

實驗目的和要求 1 能夠使用c 模板機制定義過載函式。2 能夠例項化及使用模板函式。3 能夠例項化和使用模板類。4 應用標準c 模板庫 stl 通用演算法和函式物件實現查詢和排序。實驗內容 1.分析並除錯下列程式,了解函式模板的使用。sy8 1.cpp includeusing namespace ...

實驗八 模板

實驗目的和要求 1 能夠使用c 模板機制定義過載函式。2 能夠例項化及使用模板函式。3 能夠例項化和使用模板類。4 應用標準c 模板庫 stl 通用演算法和函式物件實現查詢與排序。實驗內容 1.分析並除錯下列程式,了解函式模板的使用。sy8 1.cpp includeusing namespace ...