首先就要先說前中後遍歷
按照這個口訣遍歷下來就是所謂的前中後遍歷。
輸出某個資料夾下所有檔名稱(可以有子資料夾)—用先序遍歷實現。
統計某個資料夾的大小(該資料夾下所有檔案的大小)–用後序遍歷實現。
中綴表示式轉為字尾表示式。
1輸出檔名稱的過程如下:
如果是資料夾,先輸出資料夾名,然後再依次輸出該資料夾下的所有檔案(包括子資料夾),如果有子資料夾,則再進入該子資料夾,輸出該子資料夾下的所有檔名。這是乙個典型的先序遍歷過程。
2統計資料夾的大小過程如下:
若要知道某資料夾的大小,必須先知道該資料夾下所有檔案的大小,如果有子資料夾,若要知道該子資料夾大小,必須先知道子資料夾所有檔案的大小。這是乙個典型的後序遍歷過程。
3中綴表示式轉為字尾表示式(逆波蘭表示式)。
中綴表示式是乙個通用的算術或邏輯公式表示方法。符合人類的邏輯(例:3 + 4)
字尾表示式是一種不需要括號的表達法。符合計算機的邏輯(例:3 4 +)
如果有《大話資料結構》這本書的可以看看p105
1輸出檔名稱
public void list(file f)
public void list(file f, int depth)
}} private void printname(file f, int depth)
2統計資料夾的大小
private long totalsize(file f)
else
}return size;
}
關於統計大小的詳情可以參考
3中綴表示式轉為字尾表示式
假設乙個表示式,a+b*c+d-e/f,利用將其儲存在二叉樹中,保持中序遍歷得到中綴表示式。
其中序遍歷是常見的,後序遍歷是abc*+d+ef/-
二叉樹及其遍歷
滿二叉樹肯定是完全二叉樹,完全二叉樹不一定是滿二叉樹 二叉樹的遍歷 先序遍歷 也叫做先根遍歷 前序遍歷,首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹,如果二叉樹為空則返回。中序遍歷 首先遍歷左子樹,然後訪問根結點,最後遍歷右子樹。...
二叉樹及其遍歷
二叉樹是乙個很重要的儲存結構,所以和大家分享一下我對二叉樹的理解並結合 希望讓大家都能對二叉樹有乙個最清晰的認識 首先,二叉樹是每個節點最多有兩個子樹的樹結構,這是二叉樹的定義,二叉樹的結構如下圖 可以看到二叉樹必要的是根節點,也就是a,每個節點都會有左子節點和右子節點,那麼從b開始看,它又是乙個二...
二叉樹及其應用 二叉樹遍歷
給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...