二叉樹的實現和四種遍歷

2021-10-03 08:23:39 字數 897 閱讀 6177

#include

#include

using namespace std;

struct node

;node*

newnode

(int x)

void

insert

(node*

&root,

int x)

if(xdata)

else

}void

search

(node* root,

int x,

int newdata)

search

(root->lchild,x,newdata)

;search

(root->rchild,x,newdata);}

node *

creating

(int a,

int n)

//四個遍歷

void

preorder

(node* root)

void inorder (node* root)

void postorder (node* root)

void

layerorder

(node* root)

if(temp->rchild!=

null)}

}int

main()

; node* s=

creating

(a,6);

layerorder

(s);

return0;

}

實際上二叉樹的實現和鍊錶的實現大同小異,對比結構,只是其是左右兩個指標,所以又稱為二叉鍊錶,而鍊錶有靜態實現,故二叉樹有有靜態實現,了解即可。

二叉樹四種遍歷的例項實現

內容 二叉樹初始化 先序輸入 層序遍歷 非遞迴的佇列方式 先序遍歷 遞迴 中序遍歷 遞迴 後序遍歷 遞迴 include include include include define nodedata char using namespace std typedef struct treenode ...

二叉樹四種遍歷方式

二叉樹的四種遍歷方式 include include using namespace std 二叉樹節點的定義 class treenode 遞迴方式,每個結點只遍歷一次,時間複雜度o 1 遞迴最多呼叫n次,空間複雜度o n 先序 根 遞迴左 遞迴右 void preorder treenode r...

二叉樹的四種遍歷方式

前言最近做題用到很多次二叉樹的遍歷,因此寫這篇文章記錄二叉樹的四種遍歷方式。首先為了方便,先假設二叉樹的結構如下 struct treenode 對於程式的輸入為 3 根節點root 9 20 4 10 15 71.二叉樹的層次遍歷 層次遍歷就是依次遍歷樹的每一層。借助佇列,可以輕鬆實現。void ...