二叉樹遍歷
一、先序遍歷和遞迴實現
1.訪問根節點
2.先序遍歷其左子樹
3.先序遍歷其右子樹
二、中序遍歷和非遞迴實現
1.中序遍歷其左子樹
2.訪問根節點
3.中序遍歷其右子樹
三、後序遍歷和非遞迴實現
1.後序遍歷其左子樹
2.後序遍歷其右子樹
3.訪問根節點
二叉樹遍歷**部分:
/*** created by yz on 2018/3/13.
*/public class mynode
/*** 訪問當前節點
*/public void visit()
/*** 訪問當前節點,去往當前節點的左子樹
* @return
*/public mynode getleft()
public mynode getright()
}/**
* created by yz on 2018/3/13.
*/public inte***ce visitall
/***二叉樹遍歷 -- 先序遍歷和遞迴實現
* 1.訪問根節點
* 2.先序遍歷其左子樹
* 3.先序遍歷其右子樹
* created by yz on 2018/3/13.
*/public class previsitimpl implements visitall
mynode.visit();
visittree(mynode.getleft());
visittree(mynode.getright());}}
/***二叉樹遍歷 -- 中序遍歷和非遞迴實現
* 1.中序遍歷其左子樹
* 2.訪問根節點
* 3.中序遍歷其右子樹
* 使用棧集合 deque
* created by yz on 2018/3/13.
*/public class midvisitimpl implements visitall
if(deque.size()>0)}}
}/**
*二叉樹遍歷 -- 後序遍歷和非遞迴實現
* 1.後序遍歷其左子樹
* 2.後序遍歷其右子樹
* 3.訪問根節點
* 雙棧deque
* created by yz on 2018/3/13.
*/public class postvisitimpl implements visitall
if(deque.size()>0)
}while (reversedeque.size()>0)}}
/*** created by yz on 2018/3/13.
*/public class inittree
}/**
* 測試
* created by yz on 2018/3/13.
*/public class bintree
}
二叉樹及其應用 二叉樹遍歷
給定二叉樹的廣義表表示,構造二叉樹並輸出二叉樹的四種遍歷順序。輸入說明 輸入僅一行,該行僅由 以及大小寫字元構成的二叉樹的廣義表表示,字串長度不超過100。輸出說明 在接下來的四行中依行輸出二叉樹的四種遍歷 輸入樣列 a b d,c e,f h 輸出樣列 abdcefh dbaecfh dbehfc...
二叉樹及其應用 二叉樹建立
給定二叉樹的資料型別如下 typedef char element struct node typedef struct node btnode typedef struct node btree 二叉樹建立i 完成btree create btree char s 函式,該函式由字串s建立一顆二叉...
二叉樹及其性質
可比較 雙親孩子表示法模型結構 資料域data 孩子結點指標 firstchild 兄弟結點指標 rightsib firstchild 指向該結點的第乙個孩子 rightsib 指向該結點的右兄弟 特點 能夠表示任意的樹形結構 每個結點中有且僅有三個指標域 如上 每個結點的結構簡單,只有孩子結點指...