数据结构:二叉树遍历的实现

二叉树的遍历实现

题目:

二叉树的遍历实现

1) 构建一棵二叉树;

2) 递归实现先根序、后根序、中根序遍历;

3) 非递归实现先根序、后根序、中根序遍历;

树的显示在屏幕上需要呈现树状。

/* 二叉树的递归算法:建立二叉树、遍历二叉树 */

#include "stdio.h"

#include "stdlib.h"

/****二叉链树的类型定义****/

typedef char TElemType;

typedef struct BiTNode

{ TElemType data;

struct BiTNode *lchild,*rchild;

} BiTNode, *BiTree;

/********以下为链式队列相关操作*********/

typedef BiTree ElemType;

/* 定义链式队列类型 */

typedef struct QNode

{ ElemType data;

struct QNode *next;

} QNode, *QueuePtr;

typedef struct

{ QueuePtr front;

QueuePtr rear;

} LinkQueue;

/* 初始化链式队列 */

void InitQueue(LinkQueue *Q)

{ Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode));

if (!(Q->front)) exit(0);

Q->front->next=NULL; }

/* 销毁链式队列 */

void DestroyQueue(LinkQueue *Q)

{ while (Q->front)

{ Q->rear=Q->front->next;

free(Q->front);

数据结构:二叉树遍历的实现相关文档

最新文档

返回顶部