2023年广东省学习数据库基础

发布 2022-01-10 09:22:28 阅读 2779

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

2、矩阵中元素按行和按列都已排序,要求查找时间复杂度为o(m+n),因此不能采用常规的二层循环的查找。可以先从右上角(i=a,j=d)元素与x比较,只有三种情况:一是a[i,j]>x, 这情况下向j 小的方向继续查找;二是a[i,j]void search(datatype a[ ]int a,b,c,d, datatype x)

//n*m矩阵a,行下标从a到b,列下标从c到d,本算法查找x是否在矩阵a中。

else if (a[i][j]>x) j--;else i++;

if(flag) printf(“a[%d][%d]=%d”,i,j,x假定x为整型。

else printf(“矩阵a中无%d 元素”,x);

}算法search结束。

算法讨论]算法中查找x的路线从右上角开始,向下(当x>a[i,j])或向左(当x3、我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。用j记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。

void platform (int b[ ]int n)

//求具有n个元素的整型数组b中最长平台的长度。

l=1;k=0;j=0;i=0;

while(i //局部最长平台。

i++;j=i新平台起点。

printf(“最长平台长度%d,在b数组中起始下标为%d”,l,k);

// platform

2023年广东省数据库入门高级

1 设一组有序的记录关键字序列为 13,18,24,35,47,50,62,83,90 查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。2 设有两个集合a和集合b,要求设计生成集合c a b的算法,其中集合a b和c用链式存储结构表示。typedef str...

2023年广东省基础数据摘要

1 设一组有序的记录关键字序列为 13,18,24,35,47,50,62,83,90 查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。2 本题要求建立有序的循环链表。从头到尾扫描数组a,取出a i 0 ilinkedlist creat elemtype ...

2023年广东省基础数据高级

1 1 p rchild 2 p lchild 3 p lchild 4 addq q,p lchild 5 addq q,p rchild 25.1 t rchild null 5 count t rchild 2 t rchild null 3 n0 4 count t lchild 26.1 ...