要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为________和_______。

要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为________和_______。


相关考题:

阅读以下说明和C语言函数,将应填入(n)处。[说明]函数int find_Max_Min(int a[],int n)的功能是:找出n个元素的数组a中的最大元素和最小元素并输出,返回查找过程中元素的比较次数。查找方法如下:比较a[0]和a[n-1],若a[0]大,则交换a[0]和a[n-1]的值:再比较a[1]和a[n-2],若a[1]大,则交换a[1]和a[n-2]的值;以此类推,直到所有的元素都比较完。然后在数组的前半区从前往后找出小元素,在后半区从后往前找出大元素。[函数]int find_Max_Min(int a[],int n){/*找出n个元素的数组a的最大、最小元素并输出,返回查找过程元素中的比较次数*/int i,Count=0;int temp,Maxnum,Minnum;for(i=0; i<n/2; i++){Count=Count+1 /*元素比较次数计数*/if(a[i]>a[(1)]){/*数组元素交换代码略*/}}Maxnum=a[n-1]; Minnum=a[0];for(i=1;i<n/2+n%2;i++){Count=(2); /*元素比较次数计数*/Minnum=(3)? a[i]:Minnum; /*找最小元素*/Maxnum=(4)?(5):Maxnum; /*找最大元素*/}printf("Max=%d\n",Maxnum);printf("Min=%d\n",Minnum);return Count;}

对n个不同的排序码的元素进行冒泡排序,在(45)情况下比较的次数最少,其比较次数为(46)。在(47)情况下比较次数最多,其比较次数为(48)。A.从大到小排列好的B.从小到大排列好的C.元素无序D.元素基本有序

从n个数中选取最大元素()。A基本操作是数据元素间的交换B算法的时间复杂度是O(n)C算法的时间复杂度是O(n2)D需要进行(n+1)次数据元素间的比较

要求在n个数据元素中找其中值最大的元素,设基本操作为元素间的比较。则比较的次数和算法的时间复杂度分别为()和()。

如果一个数组A[1…n]中某个元素的数量超过其元素数量的一半,称其包含主元素,假设比较两个元素大小的时间不是常数但判定两个元素是否相等的时间是常数,要求对于给定数组A,设计算法判定其是否有主元素,如果有,找到该元素。 (1) 设计时间复杂性为O(nlogn)的算法完成该任务。 (2) 设计时间复杂性为O(n)的算法完成该任务。

1、设计求解下列问题的算法,并分析其最坏情况的时间复杂度及其量级。 (1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。 (2)找出数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。

设A是含有n个元素的数组,如果元素x在A出现的次数大于n/2,则称x是A的主元素。 (1)如果A中元素是可以排序的,设计一个O(nlogn)时间的算法,判断A中是否存在主元素。 (2)对于(1)中可排序的数组,能否设计一个O(n)时间的算法? (3)如果A中元素只能进行“是否相等”的测试,但是不能进行排序,设计一个算法判断A中是否存在主元素。

设计求解下列问题的算法,并分析其最坏情况的时间复杂度及其量级。 (1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。 (2)找出数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。

纸质作业 算法设计:设计求解下列问题的类C语言算法,并分析其最坏情况的时间复杂度及其量级。 (1)在数组A[1..n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。 (2)找出数组A[1..n]中元素的最大值和次最大值(本小题以数组元素的比较为标准操作)。