層序遍歷的基本思路就是,
1.根節點入佇列。
2.根節點出隊,同時將根節點左兒子和右兒子入隊
3.結點出隊,同時將該節點的左兒子和右兒子入隊
4.重複3直到隊列為空
void layerprint(struct treenode* r)
}
#include
#include "fun.c"
struct
queue
;struct
stack
;struct treenode* pop(struct
stack* a)
int isempty(struct
stack* a)
void push(struct
stack* a,struct treenode *node)
void preprint(struct treenode *r)
else
}} /*while(p!=null)
else
p = tmp->right;
}} //push(&stack1,r);
//pop()*/
/*void layerprint(struct treenode* r)
*/void in(struct
queue* a,struct treenode* b)
struct treenode* out(struct
queue* a)
void layerprint(struct treenode* r)
}int main()
\\fun.檔案內容
#include
#include
struct treenode
node;
struct treenode* inittree()
void createtree(struct treenode* r)
else
}if(a->
data
>=p->
data)
else
}struct treenode* insert(struct treenode* r,int num)
else
else
return r;
}}void preorderprint(struct treenode* r)
}void preordersearch(struct treenode* r)
}
樹的層序遍歷
層序遍歷的基本思路就是,1.根節點入佇列。2.根節點出隊,同時將根節點左兒子和右兒子入隊 3.結點出隊,同時將該節點的左兒子和右兒子入隊 4.重複3直到隊列為空 void layerprint struct treenode r include include fun.c struct queue ...
C 森林的層序遍歷
用森林的二叉鍊錶表示法 1.注意與樹的層序遍歷的區別 需要先入隊根節點和根節點的右兄弟 3.45題 森林的層序遍歷 include using namespace std typedef char telemtype typedef struct tnode forest 佇列 typedef fo...
c 二叉樹的層序遍歷 二叉樹的層序遍歷及應用
二叉樹的遍歷實質問題就是,將二維結構線性化。深度優先遍歷對應的是前序 中序 後續遍歷 廣度優先對應的是層序遍歷。看完後閉著眼寫出二叉樹的四種遍歷結果 這篇文章從形象化方面描述了深度優先遍歷 當我們說遞迴時,到底是在說什麼 這篇文章則詳細分析了前序遍歷對棧的使用過程。今天深入學習一下層序遍歷,層序遍歷...