算法分析与设计的题 最大值和次大值问题的最优算法要求算法时间复杂度n+logn-2

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 19:08:35
算法分析与设计的题 最大值和次大值问题的最优算法要求算法时间复杂度n+logn-2

算法分析与设计的题 最大值和次大值问题的最优算法要求算法时间复杂度n+logn-2
算法分析与设计的题
最大值和次大值问题的最优算法
要求算法时间复杂度n+logn-2

算法分析与设计的题 最大值和次大值问题的最优算法要求算法时间复杂度n+logn-2
这个O(n)就够了吧
线性扫描两次

#包括
#包括
#包括
使用命名空间std;
[100] = {0};
廉政n = 10;
?诠释我= 0,k = 0时;
INT标志= 0;
INT巨力(INT A,INT B)
?{
返回(A-B)*(A-B);
?}
诠...

全部展开

#包括
#包括
#包括
使用命名空间std;
[100] = {0};
廉政n = 10;
?诠释我= 0,k = 0时;
INT标志= 0;
INT巨力(INT A,INT B)
?{
返回(A-B)*(A-B);
?}
诠释派旭(诠释* A)
?{
诠释I1 = 0;
JH = 0;
M = 0;
(I1 = 0; I1 <10; I1 + +)
{如果([I1] <[I1 +1])
{Jh的= [I1];
[I1] = [I1 +1];
[I1 +1] = jh成为;
}
其他
M = I1 +1;
}
返回米;/ /返回的数组后的资料是小于或等于前述段落的数目
?}
?诠释paixu2(诠释*一)
?{
诠释I1 = 0;
JH = 0;
M = 0;
(I1 = 0; I1 <100; I1 + +)
{如果([I1] <[I1 +1])
{Jh的= [I1];
[I1] = [I1 +1];
[I1 +1] = jh成为;
}
其他
M = I1 +1;
}
返回米;
/ /返回后者是小于或等于前述段落的数目
?}
?无效QL(A [10] [100])
?{
INT I,J;
(i = 0; <10; i + +)
(J = 0 A [I] [J] ='\ 0'; J + +)
[I] [J] = 0;
/ /数组的整体赋值0
?}
无效zxjuli(A [10] [100],INT * B)
?{
诠释i2的= 0,J2 = 0,k2的= 0,12;
[100];
(i2的= 0; i2的<10; i2的+ +)
{
(L2 = 0,E [12] ='\ 0'; L2 + +)
E [12] = 0 ;/ /数组总体赋值0

(J2 = 0;一个[i2的] [J2] ='\ 0'; J2 + +)
{} / /无意义的语句或空语句
(k2的= 0;一个[i2的] [K2] ='\ 0'; k2的+ +)
{
如果(k2! = J2)/ / J2值?在最后的for循环有效范围是有限的for循环最后一对{}
电子[J2] + =炬力([i2的] [J2]中,[i2的] [k2的]);
其他
继续;
}
标志paixu2(E);
B [I2] = [I2] [国旗];
}
}
INT B [10] = {0};
C [10] [100] = {0};
?= 0;
?整数D [10] = {0};
?斧头[100];
?廉政的main()
?{
函数srand((无符号)时间(NULL));
IX [10] = {0};
(i = 0; <10; i + +)
IX [I] = 1;
(i = 0; <100; i + +)
{A [I] = 1 +的rand()%99;
?斧头[I] = [];
}
(i = 0; <100; i + +)
法院<<一个[i] <<“”;
法院<< endl;
T = 0;
?(i = 0; <10; i + +)
{
T = 1 +的rand()%99; / /随机选取10个中心
B [I] = [T];
一[T] = -1;
}
(i = 0; <10; i + +)
对C [i] [0] = B [I];
(i = 0; <100; i + +)
如果(一个[i] = -1)
{对于(k = 0时; <10; + +)
{
为d [i] =炬力(一个[i],B [k]的);
标志=派旭网络(D);
}
C [标志] [IX [标志] + +] = [];
}
AY [90];
(J = 0,J <100; + +)
{
(i = 0; <10; i + +)
IX [I] = 1;
zxjuli(C,B);
T = 0;
(i = 0; <100; i + +)
{对于(k = 0时; <10; + +)
{如果(AX [我]!= B [K])
FLAG = 1;
其他
{FLAG = 0;
打破;
}
}
如果下(flag == 1)
AY [T + +] = AX [我];
}
QL(C);
对C [i] [0] = B [I];
(i = 0; I <90; i + +)?
(k = 0时; <10; + +)
{D [I] =炬力(AY [I],B [K]);
标志=派旭网络(D);
C [标志] [IX [标志] + +] = [];
}
}
(i = 0; <10; i + +)
(J = 0,C [I] [J] ='\ 0'; J + +)
法院<<我<<“:”<<“”<< C [I] [J] <<“”;
法院<< endl;
返回0;
?}编写的程序应该看到的名称EENOW,力求最简单和相同的功能代码。你看看自己写的程序循环保持在嵌套的书面混乱编译,但他们仍然有一些错误异常终止。再次改变你的爱给它的评分

收起