知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[14]

Posted 结点

篇首语:马看牙板,人看言行。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[14]相关的知识,希望对你有一定的参考价值。

   .设一棵二叉树的结点定义为

  struct BinTreeNodeElemType data; BinTreeNode *leftchild *rightchild;

  现采用输入广义表表示建立二叉树 具体规定如下

  ( )树的根结点作为由子树构成的表的表名放在表的最前面

  ( )每个结点的左子树和右子树用逗号隔开 若仅有右子树没有左子树 逗号不能省略

  ( )在整个广义表输入的结尾加上一个特殊的符号(例如 # )表示输入结束

  例如 对于如图所示的二叉树 其广义表表示为A(B(D E(G)) C( F))

  此算法的基本思路是 依次从保存广义表的字符串ls中输入每个字符 若遇到的是字母(假设以字母作为结点的值) 则表示是结点的值 应为它建立一个新的结点 并把该结点作为左子女(当k= )或右子女(当k= )链接到其双亲结点上 若遇到的是左括号 ( 则表明子表的开始 将k置为 若遇到的是右括号 ) 则表明子表结束 若遇到的是逗号 则表示以左子女为根的子树处理完毕 接着处理以右子女为根的子树 将K置为 在算法中使用了一个栈s 在进入子表之前 将根结点指针进栈 以便括号内的子女链接之用 在子表处理结束时退栈 相关的栈操作如下

  MakeEmpty(s)      置空栈             Push(s p)        元素p入栈

  Pop(s)                  退栈                Top(s)             存取栈顶元素的函数

  下面给出了建立二叉树的算法 其中有 个语句缺失 请阅读此算法并把缺失的语句补上 (每空 分)

  void CreatBinTree(BinTreeNode *&BT char ls)  Stack<BinTreeNode*>s;    MakeEmpty(s);  BT=NULL;                    //置空二叉树  BinTreeNode *p;  int k;  istream ins(ls)     //把串ls定义为输入字符串流对象ins   ;  char ch; ins>>ch;           //从ins顺序读入一个字符  while (ch != # )        //逐个字符处理 直到遇到 # 为止  switch(ch)  case ( : ( )______ k= ; break;  case ) :  pop(s);     break;  case : ( )______      break;  default :p=new BinTreeNode; ( )_______;p >leftChild=NULL;p >rightChild=NULL;  if(BT==NULL) ( )______ else if (k== ) top(s) >leftChild=p;  else top(s) >rightChild=p;    ( )______;   【清华大学 六 ( 分)】

cha138/Article/program/sjjg/201311/23470

相关参考

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[1]

  第六章树和二叉树  五算法设计题  .假设一个仅包含二元运算符的算术表达式以链表形式存储在二叉树BT中写出计算该算术表达式值的算法【东北大学三(分)】  .给出算法将二叉树表示的表达式二叉树按中缀

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (三)[1]

  第六章树和二叉树  三填空题  .二叉树由___()____()______()__三个基本单元组成【燕山大学一(分)】  .树在计算机内的表示方式有___()_____()_____()__【哈

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[12]

  .设某二叉树结点结构为:  TYPEbitreptr=^bnodetp;  bnodetp=RECORDdata:integer;lchildrchild:bitreptrEND;  试编写算法计

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (一)[1]

  第六章树和二叉树  一选择题  .已知一算术表达式的中缀形式为A+B*CD/E后缀形式为ABC*+DE/其前缀形式为(   )【北京航空航天大学一(分)】  A.A+

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[21]

  .已知一棵二叉树的中序(或中根)遍历结点排列为DGBAECHIF后序(或后根)遍历结点排列为GDBEIHFCA  ()试画出该二叉树  ()试画出该二叉树的中序穿线(或线索)树  ()试画出该二叉

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[12]

  .设一棵二叉树的先序中序遍历序列分别为  先序遍历序列ABDFCEGH 中序遍历序列BFDAGEHC  ()画出这棵二叉树  ()画出这棵二叉树的后序线索树  ()将这棵二叉树转换成对应

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[11]

  .设一棵二叉树以二叉链表为存贮结构结点结构为(lchilddatarchild)设计一个算法将二叉树中所有结点的左右子树相互交换【福州大学四(分)】  类似本题的另外叙述有  ()设t为一棵二叉树

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (五)[14]

  .试写出复制一棵二叉树的算法二叉树采用标准链接结构【山东大学二(分)】  类似本题的另外叙述有  ()已知二叉树T试写出复制该二叉树的算法(t→T)  ()(分)递归算法()(分)非递归算法【北方

知识大全 数据结构考研分类复习真题 第六章 树和二叉树 (四)[13]

  .设某二叉树的前序遍历序列为:ABCDEFGGI中序遍历序列为:BCAEDGHFI  ()试画出该二叉树  ()写出由给定的二叉树的前序遍历序列和中序遍历序列构造出该二叉树的算法  ()设具有四个