二叉樹遍歷演算法的應用

2021-09-30 20:47:38 字數 605 閱讀 1171

今天開始複習資料結構,感覺基礎的東西一點還不會

「遍歷」是二叉樹各種操作的基礎,通過遍歷操作可以把對節點的輸出延伸到對節點的判別,計數等操作,可以解決一些關於二叉樹其他實際問題,如果在遍歷過程生成節點,這樣就能建立二叉樹的儲存結構。

於是就開始記錄書上的基本操作。

1.先序遍歷建立二叉鍊錶

先序遍歷的訪問順序是:根左右。

void createbitree(bitree &t)

}

思考:上面的**利用的是先序遍歷順序來建立節點。並且利用&引用不斷連線左右子節點的方向。

2.複製二叉樹

也是利用二叉樹的先序遍歷

void copy(bitree t,bitree &newt)else

}

先序遍歷

3.計算二叉樹的深度

利用後序遍歷,即訪問順序是:左右根

int depth(bitree t)

}

結論:利用後序遍歷。

最好做一題 根據先序和中序構建二叉樹的題目。記下。

二叉樹的應用 二叉樹遍歷的應用

在以上討論的遍歷演算法中,訪問結點的資料域資訊,即操作visite bt data 具有更一般的意義,需根據具體問題,對bt 資料進行不同的操作。下面介紹幾個遍歷操作的典型應用。search bt,x 在bt 為二叉樹的根結點指標的二叉樹中查詢資料元素x。查詢成功時返回該結點的指標 查詢失敗時返回空...

二叉樹及其應用 二叉樹遍歷

給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...

二叉樹遍歷的應用

二叉樹遍歷的應用。求二叉樹結點個數 int size binarytreenode t 求二叉樹葉子結點個數 int leaf binarytreenode t 求二叉樹的高度 int depth binarytreenode t 交換二叉樹 void exch binarytreenode t 求...