11月2日
今天上了数据结构,学了二叉树的定义,性质和二叉树的存储结构,遍历二叉树的方法。整体感觉二叉数的操作挺难的,光遍历就有三种方法。
二叉树:
1、顺序存储结构:
#define MATSIZE 100 typedef TElem SqBiTree[MAXSIZE]; SaBiTree bt;
2、链式存储结构:
typedef struct BiTNode{ TElemType data; //结点数据域 struct BiTNode *lchild,*child; //左右孩子指针 }BiTnode,*BiTree;
遍历二叉树有多种方法,若限定先左后右,则只有三种情况,分别称之为先序遍历,中序遍历,后序遍历。
中序遍历的递归算法:
void InOrderTraverse(BiTree T){ if(T){ InOrderTraverse(T->lchild); cout<<T->data; InOrderTraverse(T->rchild); } }