2015年浙江省JAVA最新版本加强
1、假设K1, ,Kn是n个关键词,试解答:
试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K1,K2, ,Kn时,用算法建立一棵以LLINK / RLINK 链接表示的二叉查找树。
2、给出折半查找的递归算法,并给出算法时间复杂度性分析。
3、给出折半查找的递归算法,并给出算法时间复杂度性分析。
4、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
5、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度
{BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点
int i,top=0,tag[],longest=0;
while(p || top>0)
{ while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下
if(tag[top]==1) //当前结点的右分枝已遍历
{if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度 if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}
//保留当前最长路径到l栈,记住最高栈顶指针,退栈
}
else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下
}//while(p!=null||top>0)
}//结束LongestPath
6、数组A和B的元素分别有序,欲将两数组合并到C数组,使C仍有序,应将A和B拷贝到C,只要注意A和B数组指针的使用,以及正确处理一数组读完数据后将另一数组余下元素复制到C中即可。
void union(int A[],B[],C[],m,n)
//整型数组A和B各有m和n个元素,前者递增有序,后者递减有序,本算法将A和B归并为递增有序的数组C。
{i=0; j=n-1; k=0;// i,j,k分别是数组A,B和C的下标,因用C描述,下标从0开始 while(i<m && j>=0)
if(a[i]<b[j]) c[k++]=a[i++] else c[k++]=b[j--];
while(i<m) c[k++]=a[i++];
while(j>=0) c[k++]=b[j--];
}算法结束
4、要求二叉树按二叉链表形式存储。15分
(1)写一个建立二叉树的算法。(2)写一个判别给定的二叉树是否是完全二叉树的算法。 BiTree Creat() //建立二叉树的二叉链表形式的存储结构
{ElemType x;BiTree bt;
scanf(“%d”,&x); //本题假定结点数据域为整型
2015年下半年浙江省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年下半年浙江省JAVA最新版本加强 1、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行...
2015年上半年浙江省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年上半年浙江省JAVA最新版本加强 1、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历...
2015年上半年浙江省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年上半年浙江省JAVA最新版本加强 1、 二叉树的层次遍历序列的第一个结点是二叉树的根。实际...
2015年浙江省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年浙江省JAVA最新版本加强 1、假设 K1,…,Kn 是 n 个关键词,试解答: 试用二叉查找树的插入算法...
2015年上半年浙江省JAVA最新版本深入_韩语学习_外语学习_教育专区。2015年上半年浙江省JAVA最新版本深入 1、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵...
2015年浙江省JAVA最新版本要领_韩语学习_外语学习_教育专区。2015年浙江省JAVA最新版本要领 1、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈...
2015年河北省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年河北省JAVA最新版本加强 1、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈...
2015年山东省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年山东省JAVA最新版本加强 1、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个...
2015年山东省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年山东省JAVA最新版本加强 1、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一个...
2015年山东省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年山东省JAVA最新版本加强 1、假设以 I 和 O 分别表示入栈和出栈操作。栈的初态和终态均为空...
2015年上半年山东省JAVA最新版本加强_韩语学习_外语学习_教育专区。2015年上半年山东省JAVA最新版本加强 1、设指针变量p指向双向链表中结点A,指针变量q指向被插入...
我要评论