知识大全 数据结构考研分类复习真题 第六章 答案 (五)[15]
Posted 结点
篇首语:会挽雕弓如满月,西北望,射天狼。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第六章 答案 (五)[15]相关的知识,希望对你有一定的参考价值。
[题目分析] 先序遍历二叉树的非递归算法 要求进栈元素少 意味着空指针不进栈
void PreOrder(Bitree bt)//对二叉数bt进行非递归遍历 int top= ; Bitree s[]; //top是栈s的栈顶指针 栈中元素是树结点指针 栈容量足够大 while(bt!=null || top> ) while(bt!=null) printf(bt >data); //访问根结点 if(bt >rchlid) s[++top]=bt >rchild; //若有右子女 则右子女进栈 bt=bt >lchild; if (top> ) bt=s[top ];
本题中的二叉树中需进栈的元素有 C H K F
[题目分析]二叉树的顺序存储是按完全二叉树的顺序存储格式 双亲与子女结点下标间有确定关系 对顺序存储结构的二叉树进行遍历 与二叉链表类似 在顺序存储结构下 判二叉树为空时 用结点下标大于n(完全二叉树)或 (对一般二叉树的 虚结点 ) 本题是完全二叉树
void PreOrder(ElemType bt int n)//对以顺序结构存储的完全二叉树bt进行前序遍历 int top= s[]; //top是栈s的栈顶指针 栈容量足够大 while(i<=n||top> ) while(i<=n) printf(bt[i]); //访问根结点 if ( *i+ <=n) s[++top]= *i+ ; //右子女的下标位置进栈 i= *i; //沿左子女向下 if(top> ) i=s[top ]; //取出栈顶元素 //结束PreOrder
cha138/Article/program/sjjg/201311/23731相关参考
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[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
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[6]
.BiTreeCreat(ElemTypeA[]inti) //n个结点的完全二叉树存于一维数组A中本算法据此建立以二叉链表表示的完全二叉树 BiTreetree; if(i<=n)t
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[4]
.[题目分析]当森林(树)以孩子兄弟表示法存储时若结点没有孩子(fch=null)则它必是叶子总的叶子结点个数是孩子子树(fch)上的叶子数和兄弟(nsib)子树上叶结点个数之和 typedef