二叉樹遍歷的應用。
//求二叉樹結點個數
int size(binarytreenode *t)
//求二叉樹葉子結點個數
int leaf(binarytreenode *t)
//求二叉樹的高度
int depth(binarytreenode *t)
//交換二叉樹
void exch(binarytreenode *t)
}
//求二叉樹度為 1 結點數
int count1(binarytreenode *t)
//求二叉樹度為 2 結點數
int count2(binarytreenode *t)
//法二
int numberoftwodegree(binarytreenode *t)
//二叉樹複製
binarytreenode *copy(binarytreenode *p)
//刪除一棵二叉樹
void clear(binarytreenode *t)
}
//層次遍歷二叉樹
//好像有問題
void breadthfirstsearch(binarytreenode *t)
}//法二
//好像也有問題
void levelorder(binarytreenode *t)
}}
//判斷兩棵二叉樹是否相等
bool compare(binarytreenode *t, binarytreenode *p)
else if(t || p)
return false;
return true;
}
二叉樹的應用 二叉樹遍歷的應用
在以上討論的遍歷演算法中,訪問結點的資料域資訊,即操作visite bt data 具有更一般的意義,需根據具體問題,對bt 資料進行不同的操作。下面介紹幾個遍歷操作的典型應用。search bt,x 在bt 為二叉樹的根結點指標的二叉樹中查詢資料元素x。查詢成功時返回該結點的指標 查詢失敗時返回空...
二叉樹及其應用 二叉樹遍歷
給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...
二叉樹的遍歷應用2
若二叉樹為空,返回null 若二叉樹只有乙個結點,直接刪除 否則遞迴左右子樹。void del bitnode t else 設max是預先設定的最大值,初始值為0,判斷是否有比其更大的值並修改。void maxvalue bitnode t,datatype max maxvalue t lchi...