二叉树(严蔚敏习题册).docVIP

  • 1
  • 0
  • 约5.82千字
  • 约 6页
  • 2017-11-13 发布于山西
  • 举报
由先序序列和中序序列建立二叉树建树:betree(T,i,j,length) { 如果串长度length不为0 { 定位值k=中序序列起始值j; 判断(中序序列定位值k==先序序列起始值i),若!=, 则定位值+1向后继续寻找; 当找到时,给树T申请空间,将先序序列起始值赋给树结点的数据域T-data; 然后计算出左子树结点数pos=定位值k-中序序列起始值j; 建左子树:递归调用建树函数betree(将树的左孩子传过去,左子树初始值+1,中序序列的定位值,pos); 建右子树:递归调用建树函数betree(将树的右孩子传过去,左子树初始值+1再+定位值,串长-定位值-1) //这样递归建树就完成了 }否则 树赋空值; } /////////////////////////////////////////////////////////////////////// //由先序序列和中序序列建立二叉树 //start1是先序序列的起始位置,start2是中序序列的起始位置, //len是先序序列长度 void CreateBiTree(int start1,int start2,int len,BiTree T) { int pos,len1; if (len=0) T=NULL; else { pos=start2; //记

文档评论(0)

1亿VIP精品文档

相关文档