知识大全 数据结构考研分类复习真题 第六章 答案 (五)[2]

Posted 表达式

篇首语:天下之事常成于困约,而败于奢靡。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第六章 答案 (五)[2]相关的知识,希望对你有一定的参考价值。

   [题目分析] 本题是将符号算术表达式用二叉树表示的逆问题 即将二叉树表示的表达式还原成原表达式 二叉树的中序遍历序列与原算术表达式基本相同 差别仅在于二叉树表示中消除了括号 将中序序列加上括号就恢复原貌 当根结点运算符优先级高于左子树(或右子树)根结点运算符时 就需要加括号

  int Precede(char optr optr )  // 比较运算符级别高低 optr 级别高于optr 时返回 相等时返回 低于时返回   switch(optr )  case + :case :if(optr == + ||optr == )return( );else return( );  case * :case / :if(optr == * ||optr == / )return( );else return( );      void InorderExp (BiTree bt)  //输出二叉树表示的算术表达式 设二叉树的数据域是运算符或变量名  int bracket;  if(bt)  if(bt >lchild!=null)  bracket=Precede(bt >data bt >lchild >data)//比较双亲与左子女运算符优先级  if(bracket== ) printf( ( )   InorderExp(bt >lchild);        //输出左子女表示的算术表达式  if(bracket== )printf( ) )   //加上右括号    printf(bt >data);               //输出根结点  if(bt >rchild!=null)            //输出右子树表示的算术表达式  bracket=Precede(bt >data bt >rchild >data)  if (bracket== )printf( ( )   //右子女级别低 加括号  InorderExp (bt >rchild);  if(bracket== )printf( ) )      //结束Inorder Exp

cha138/Article/program/sjjg/201311/23732

相关参考

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[23]

  PROCprint(bt:BiTreexy:integer)  //将二叉树逆时针旋转度打印xy是根结点基准坐标调用时xy=  IFbt<>NILTHEN[print(bt↑rchil

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[19]

  intLevel(BiTreebt)//层次遍历二叉树并统计度为的结点的个数  intnum=;//num统计度为的结点的个数  if(bt)QueueInit(Q);QueueIn(Qbt)//

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[47]

  .BiThrTreeInSucc(BiThrTreeTp) //在对称序穿线树T中查找给定结点p的中序后继  if(p>rtag==)q=p>rchild; &nb

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[33]

  intBTLC(BiTreeTint*c)//对二叉树T的结点计数  if(T)  *c++;  BTLC(T>lchild&c);//统计左子树结点  BTLC(T>rchi

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[45]

  voidInOrderThreat(BiThrTreethrt)  //thrt是指向中序全线索化头结点的指针本算法中序遍历该二叉树  p=thrt>lchild; //p指向二叉

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[34]

  .intCount(BiTree bt)//非递归遍历求二叉树上的叶子结点个数  intnum=;  BiTrees[];//s是栈栈中元素是二叉树结点指针栈容量足够大  whlie(b

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[25]

  [题目分析]知二叉树中序序列与后序序列第题以递归算法建立了二叉树本题是非递归算法  voidInPostCreat(ElemTypeIN[]POST[]intlhlh)  //由二叉树的中序序列I

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[15]

  [题目分析]先序遍历二叉树的非递归算法要求进栈元素少意味着空指针不进栈  voidPreOrder(Bitree bt)//对二叉数bt进行非递归遍历  inttop=;Bitrees[

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[6]

  .BiTreeCreat(ElemTypeA[]inti)  //n个结点的完全二叉树存于一维数组A中本算法据此建立以二叉链表表示的完全二叉树  BiTreetree;  if(i<=n)t

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[4]

  .[题目分析]当森林(树)以孩子兄弟表示法存储时若结点没有孩子(fch=null)则它必是叶子总的叶子结点个数是孩子子树(fch)上的叶子数和兄弟(nsib)子树上叶结点个数之和  typedef