数据结构 | 二叉树

 可参照

数据结构:树(Tree)【详解】_数据结构 树_UniqueUnit的博客-CSDN博客

基本形状

数据结构 | 二叉树_第1张图片


 

二叉树的性质

数据结构 | 二叉树_第2张图片


 

三种顺序遍历 

数据结构 | 二叉树_第3张图片

 


 

后序遍历 

void PostOrder(BiTree T){
	InitStack(S);
	p=T;
	r=NULL;
	while(p!=NULL||!IsEmpty(s)){
		if(p!=NULL){				//走到最左边 
			push(S,p);
			p=p->lchild;
		}
		else{				//向右
			GetTop(S,p);	//读栈顶节点(非出栈) 
			if(p->rchild&&p->rchild!=r){	//若右子树存在,且未被访问过 
				p=p->rchild;	//转向右 	
			}
			else{				//否则弹出结点并访问 
				pop(S,p);
				visit(p->data); //访问该结点
				r=p;			//记录最近访问的结点 
				p=NULL;			//结点访问完后,重置p指针
			}
		}
	}

口诀 

 

数据结构 | 二叉树_第4张图片 

 

 

你可能感兴趣的:(数据结构,数据结构)