2023年山西省数据总结大纲

发布 2022-04-26 06:57:28 阅读 9260

1、给出折半查找的递归算法,并给出算法时间复杂度性分析。

2、设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。

3、数组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 /judgecomplete

4、设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二。

分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。

2023年山西省数据总结基础

if for i free p 释放p数组。translation 算法分析 算法中使用选择法排序,比较次数较多,但数据交换 移动 较少。若用其它排序方法,虽可减少比较次数,但数据移动会增多。算法时间复杂度为o n2 2 矩阵中元素按行和按列都已排序,要求查找时间复杂度为o m n 因此不能采用常规...

2023年山西省重要数据加强

typedef struct 沿左分枝向下。if bt p 不失一般性,假定p在q的左侧,遇结点p时,栈中元素均为p的祖先结点。for i 1 i top i s1 i s i top1 top 将栈s的元素转入辅助栈s1 保存。if bt q 找到q 结点。for i top i 0 i 将栈中元...

2019山西省暑期

2012山西省暑期 园丁之家 活动之感受。今年暑期,我有幸参加了由山西省教育 会组织的 园丁之家 活动。虽然只有短短的七天时间,但对于我可以说是满载而归,终身受益。8月5日下午我带着淡淡的忧虑踏上了去太原的列车,第一次一个人单独出门,害怕和孤独包围了我。但当我到达接待地址后,我的忧虑和孤独荡然无存。...