1、设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。
2、我们用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
3、矩阵中元素按行和按列都已排序,要求查找时间复杂度为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])或向左(当x4、给定n个村庄之间的交通图,若村庄i和j之间有道路,则将顶点i和j用边连接,边上的wij表示这条道路的长度,现在要从这n个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院的路程最短?试设计一个解答上述问题的算法,并应用该算法解答如图所示的实例。20分。
void hospital(adjmatrix w,int n)
//在以邻接带权矩阵表示的n个村庄中,求医院建在何处,使离医院最远的村庄到医院的路径最短。
//在最长路径中,取最短的一条。m记最长路径,k记出发顶点的下标。
printf(“医院应建在%d村庄,到医院距离为%d”,i,m);
for//算法结束。
对以上实例模拟的过程略。各行中最大数依次是9,9,6,7,9,9。这几个最大数中最小者为6,故医院应建在第三个村庄中,离医院最远的村庄到医院的距离是6。
1、对图1所示的连通网g,请用prim算法构造其最小生成树(每选取一条边画一个图)。
2024年湖南省数据分析深入
1 设一组有序的记录关键字序列为 13,18,24,35,47,50,62,83,90 查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。2 我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置 下标 用j记住局部平台的起始位置,用i指示扫描b数组...
2024年湖南省数据分析深入
1 设一组有序的记录关键字序列为 13,18,24,35,47,50,62,83,90 查找方法用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。2 我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置 下标 用j记住局部平台的起始位置,用i指示扫描b数组...
2024年湖南省星级酒店经营数据分析
湖南省统计公布了2017年三季度湖南省经济运行数据。前三季度,全省实现社会消费品零售总额10471.51亿元,同比增长10.5 增速比上年同期低1.1个百分点。其中,限额以上批发零售 住宿餐饮业法人单位实现零售额3816.13亿元,增长10.6 比上年同期低1.6个百分点。9月份实现社会消费品零售总...