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

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 20:49:17
算法分析与设计的题最大值和次大值问题的最优算法要求算法时间复杂度n+logn-2算法分析与设计的题最大值和次大值问题的最优算法要求算法时间复杂度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,力求最简单和相同的功能代码。你看看自己写的程序循环保持在嵌套的书面混乱编译,但他们仍然有一些错误异常终止。再次改变你的爱给它的评分

收起