二叉樹的前中後序 層次遍歷

2021-07-15 12:20:43 字數 825 閱讀 2617

終於自己搞定二叉樹的4種遍歷,單單看部落格沒有人講還是很難懂得,建議大家學習的時候,看一遍部落格,然後自己手動遞迴,就很容易懂了,不要用腦子去遞迴- -。

深刻理解下遍歷的原理。

//所謂建樹就是指的是給定乙個乙個節點可以找出他的左右孩子

//不建樹求某一層次遍歷(一般求前後遍歷可以不建樹)

//精髓就是根據n來限制樹枝的個數,寫乙個簡單的三層滿2叉樹,自己手動遞迴一下就會懂

#include#include#includeusing namespace std;

void print_postorder(int n, char *pre, char *in) //n代表節點個數,pre前 in 中 post後,不建樹用void

int main(void)

return 0;

}//根據後中求層次遍歷 (層次遍歷一般要先建樹)/*7

2 3 1 5 7 6 4

1 2 3 4 5 6 7

*/#include#include#include#includeusing namespace std;

const int maxn = 35;

int post[maxn], in[maxn], lch[maxn], rch[maxn];

int build(int n, int *in, int *post) //建樹用int ,返回root

void bfs(int root) //層次遍歷,先把根節點 push進去,然後根據根節點不斷把左右孩子push進去,注意順序

}int main(void)

二叉樹的前中後序遍歷

秋招記錄 對一棵二叉樹進行遍歷,我們可以採取3種順序進行遍歷,分別是前序遍歷 中序遍歷和後序遍歷。這三種方式是以訪問父節點的順序來進行命名的。假設父節點是n,左節點是l,右節點是r,那麼對應的訪問遍歷順序如下 前序遍歷 中左右 n l r 中序遍歷 左中右 l n r 後序遍歷 左右中 l r n ...

二叉樹的前 中 後序遍歷

import lombok.data import lombok.noargsconstructor data noargsconstructor class treenode 前序遍歷 根 左 右 public void preorder 遞迴向右子樹前序遍歷if this right null ...

二叉樹的前 中 後序遍歷

前序 根左右 中序 左根右 後序 左右根 前序遍歷 124563 中序遍歷 546213 後序遍歷 564231 package datastructure public class binarytreedemo class binarytree public binarytree hero roo...