二叉树的四种遍历方法:前序、中序、后序、层次
生活随笔
收集整理的這篇文章主要介紹了
二叉树的四种遍历方法:前序、中序、后序、层次
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前/中/后序遍歷也可分別稱為前/中/后根遍歷
#include <iostream> using namespace std;//二叉樹的鏈式存儲的結點 typedef struct BiTNode{int data;struct BiTNode *lchild,*rchild; }BiTNode,*BiTree;//鏈式隊列結點 typedef struct LinkNode{BiTNode *data;struct LinkNode *next; }LinkNode;typedef struct{LinkNode *front,*rear;//定義隊頭隊尾 }LinkQueue;void visit(BiTree T){cout>>T.data>>endl; }//先序遍歷 void PreOrder(BiTree T){if(T!=NULL){visit(T);PreOrder(T->lchild);PreOrder(T->rchild);} }//中序遍歷 void InOrder(BiTree T){if(T!=NULL){InOrder(T->lchild);visit(T);InOrder(T->rchild);} }//后序遍歷 void PostOrder(BiTree T){if(T!=NULL){PostOrder(T->lchild);PostOrder(T->rchild);visit(T);} }//層次遍歷 void LevelOrder(BiTree T){LinkQueue Q;InitQueue(Q); //初始化隊列BiTree p;EnQueue(Q,T);while(!IsEmpty(Q)){DeQueue(Q,p); //隊頭結點出隊visit(p);if(p->lchild!=NULL)EnQueue(Q,p->lchild);if(p->rchild!=NULL)EnQueue(Q,p->rchild);} }?
總結
以上是生活随笔為你收集整理的二叉树的四种遍历方法:前序、中序、后序、层次的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 树的常考性质
- 下一篇: 二叉树的先序线索化、中序线索化、后序线索