2013年河南省分析数据加强

2013年河南省分析数据加强

1、设有一组初始记录关键字序列(K1,K2,…,Kn),要求设计一个算法能够在O(n)的时间复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。
void quickpass(int r[], int s, int t)
{
int i=s, j=t, x=r[s];
while(iwhile (ix) j=j-1; if (iwhile (i}
r[i]=x;
}

2、数组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=0)
if(a[i]while(iwhile(j>=0) c[k++]=b[j--];
}算法结束
4、要求二叉树按二叉链表形式存储。15分
(1)写一个建立二叉树的算法。(2)写一个判别给定的二叉树是否是完全二叉树的算法。
BiTree Creat() //建立二叉树的二叉链表形式的存储结构
{ElemType x;BiTree bt;
scanf(“%d”,&x); //本题假定结点数据域为整型
if(x==0) bt=null;
else if(x>0)
{bt=(BiNode *)malloc(sizeof(BiNode));
bt->data=x; bt->lchild=creat(); bt->rchild=creat();
}
else error(“输入错误”);
return(bt);
}//结束 BiTree
int JudgeComplete(BiTree bt) //判断二叉树是否是完全二叉树,如是,返回1,否则,返回0
{int tag=0; BiTree p=bt, Q[]; // Q是队列,元素是二叉树结点指针,容量足够大
if(p==null) return (1);
QueueInit(Q); QueueIn(Q,p); //初始化队列,根结点指针入队
while (!QueueEmpty(Q))
{p=QueueOut(Q); //出队
if (p->lchild && !tag) QueueIn(Q,p->lchild); //左子女入队
else {if (p->lchild) return 0; //前边已有结点为空,本结点不空
else tag=1; //首次出现结点为空
if (p->rchild && !tag) QueueIn(Q,p->rchild); //右子女入队
else if (p->rchild) return 0; else tag=1;
} //while
return 1; } //JudgeComplete

3、由二叉树的前序遍历和中序遍历序列能确定唯一的一棵二叉树,下面程序的作用是实现由已知某二叉树的前序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树并打印出后序遍历序列,请写出程序所缺的语句。
#define MAX 100
typedef struct Node
{char info; struct Node *llink, *rlink; }TNODE;
char pred[MAX],inod[MAX];
main(int argc,int **argv)
{ TNODE *root;
if(argc<3) exit 0;
strcpy(pred,argv[1]); strcpy(inod,argv[2]);
root=restore(pred,

免费下载该文档:2013年河南省分析数据加强

2013年河南省分析数据加强的相关文档搜索

相关文档
2013年河南省数据分析加强
2013年河南省数据分析加强_韩语学习_外语学习_教育专区。2013年河南省数据分析加强 1、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否...
2013河南省数据分析加强
2013河南省数据分析加强_计算机软件及应用_IT/计算机_专业资料。1、我们用 l 代表最长平台的长度,用 k 指示最长平台在数组 b 中的起始位置(下标) 。用 j 记住...
2014年河南省分析数据加强
2014年河南省分析数据加强_数学_小学教育_教育专区。2014年河南省分析数据加强 1、设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用...
2014年河南省分析数据加强
2014年河南省分析数据加强_韩语学习_外语学习_教育专区。2014年河南省分析数据加强 1、设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找...
2013河南省分析数据库的考试题目加强
2013河南省分析数据库的考试题目加强_韩语学习_外语学习_教育专区。2013河南省分析数据库的考试题目加强 1 、 (1)p->rchild (2)p->lchild (3)p->lchild (...
2013年河南省分析数据深入
2013年河南省分析数据深入_韩语学习_外语学习_教育专区。2013年河南省分析数据深入 1、 将顶点放在两个集合V1和V2。对每个顶点,检查其和邻接点是否在同一个集合...
2013年河南省分析数据深入
2013年河南省分析数据深入_韩语学习_外语学习_教育专区。2013年河南省分析数据深入 1、 将顶点放在两个集合 V1 和 V2。对每个顶点,检查其和邻接点是否在同一个...
2013年河南省数据统计加强
2013年河南省数据统计加强_韩语学习_外语学习_教育专区。2013年河南省数据统计...}// Translation [算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(...
2013年河南省数据整理加强
2013年河南省数据整理加强_韩语学习_外语学习_教育专区。2013年河南省数据整理...}// Translation [算法分析] 算法中使用选择法排序,比较次数较多,但数据交换(...
2013年河南省分析数据深入
2013年河南省分析数据深入_韩语学习_外语学习_教育专区。2013年河南省分析数据深入 1、设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用...