给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值Input包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 18:33:46
给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值Input包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n

给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值Input包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n
给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值
Input
包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n

给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值Input包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n
ACM吧,
#include
using namespace std;
void MaxAndMin(int *a,int left,int right,int& max,int& min)
{
int num=right-left+1;
if (num==1)
{
max=a[left];
min=a[left];
return ;
}
if (num==2)
{
if (a[left]>a[right])
{
max=a[left];
min=a[right];
return ;
}
else
{
max=a[right];
min=a[left];
return;
}
}
else
{
int mid=(left+right)/2;
int maxr,minr,maxl,minl;
MaxAndMin(a,left,mid,maxl,minl);
MaxAndMin(a,mid+1,right,maxr,minr);
if (maxl>maxr)
max=maxl;
else
max=maxr;
if (minl>num;
if(num)
{
a=new int[num+1];
a[0]=0;
for(int i=1;i>a[i];
}
int max,min;
MaxAndMin(a,1,num,max,min);
cout

设置两个变量max和min,一个保存当前最大的,一个保存当前最小的。
每次取两个,进行比较,大的和max比,小的和min比,直道结束。
设总的数据量是n,则总的比较次数是3n/2 - 2
1.减2是对第一次
2.每次取2个数,供需n/2次。每次比较3次,供需比较3*n/2次...

全部展开

设置两个变量max和min,一个保存当前最大的,一个保存当前最小的。
每次取两个,进行比较,大的和max比,小的和min比,直道结束。
设总的数据量是n,则总的比较次数是3n/2 - 2
1.减2是对第一次
2.每次取2个数,供需n/2次。每次比较3次,供需比较3*n/2次

收起

给定n个数,在最坏情况下用╔ 3n/2-2 ╕次比较找出这n个数中元素的最大值和最小值Input包含多组测试数据.每组测试数据的第一个元素是整数的个数n,接下来是n个整数.0表示结束. n 冒泡排序在最坏的情况下的比较次数为什么是n(n-1)/2? 给定数组a[0:n-1],试设计一个算法,在最坏情况下用3n/2-2次比较找出a[0:n-1]中元素的最大值和最小值.要代码 正确的!能运行出结果的 百度上一样的别来! 冒泡排序在最坏情况下的比较次数是 A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2 快速排序平均情况和最坏情况下的算法时间复杂度分别为:平均情况O(nlog(2,n)),最坏情况O(n^2) 平均情况O快速排序平均情况和最坏情况下的算法时间复杂度分别为:平均情况O(nlog(2,n)),最坏情 :对一个具有n个元素的序列进行冒泡排序,在最坏情况下,要进行交换的次数是( ) A、n(n+1)/2 B、n(n-1)/ 8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:A)平均情况O(nlog(2,n)),最坏情况O(n^2) B)8、快速排序平均情况和最坏情况下的算法时间复杂度分别为:A)平均情况O(nlog(2,n)),最 设序列长度为n,在最坏的情况下,时间复杂度为O(log2n)的算法是什么 设给定三个数a、b、c,试写出寻找其中某个数的算法,并分析在平均情况下与最坏情况下,你的算法分别要做多利用C语言编程! .对一个由n个关键字不同的记录构成的序列,能否用比2n-3少的次数选出该序列中关键字取最大值和关键字取最小值的记录?请说明如何实现?在最坏情况下至少进行多少次比较?清华大学出版社出 冒泡排序法在最坏的情况下的比较次数是n(n-1)/2,快速排序呢它不是据说是冒泡排序的优化版么… 在最坏情况下,对长度为n的线性排序.快速排序中.需要比较的次数是多少.计算机的VFP的 C语言 下列叙述中正确的是?A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行 对于长度为n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是A)冒泡排序n/2B)冒泡排序为nC)快速排序为n D)快速排序为n(n-1)/2为什么? O(nlogn)中的O是什么意思如,快速排序时,最坏情况下执行时间为O(n^2),需要的辅助存储为O(nlogn), 用(第一)数学归纳法证明对于一切正整数n,35能整除3^(6n)-2^(6n)还有一题:给定任意正整数n,设d(n)为n的约数个数,证明d(n) 给定正整数n(n>=2)构成三角形数表,第一行依次写1,2,3…n在下面一行的每相邻两个数的正中间上方写上这两个数之和,得到上面一行的数(比下一行少一个数),依次类推,最后一行(第n行)只有 O(n) 和O(log2n)是什么意思?在长度为n的有序线性表中进行二分查找,最坏情况下的比较次数应该 是n 可是为什么书上的答案是 O(log2n)?