今天開始複習資料結構,感覺基礎的東西一點還不會
「遍歷」是二叉樹各種操作的基礎,通過遍歷操作可以把對節點的輸出延伸到對節點的判別,計數等操作,可以解決一些關於二叉樹其他實際問題,如果在遍歷過程生成節點,這樣就能建立二叉樹的儲存結構。
於是就開始記錄書上的基本操作。
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 求...