二叉樹及其原理

2021-08-16 21:03:54 字數 1848 閱讀 9842

二叉樹遍歷

一、先序遍歷和遞迴實現

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 指向該結點的右兄弟 特點 能夠表示任意的樹形結構 每個結點中有且僅有三個指標域 如上 每個結點的結構簡單,只有孩子結點指...