5.证明以下关系成立:
(1)10n^ 2-2n=Q(n ^2)
答:n趋于无穷大时,10n^2-2n / n^2 = 10,所以该关系成立。
(2)2^(n+1) = Q(2^n )
答:左式 = 2 * 2^n = Q(2^n ) ,所以该关系成立。
8. 一个字符串采用 string 对象存储,设计一个算法判断该字符串是否为回文。
答:
#include <string>
#include <iostream>
using namespace std;
bool Same(string S)
{
int i = 0;
int j = S.length() – 1;
while(i < j){
if(S[i] != S[j])
return false;
i++;j--;
}
return true;
}
void main()
12. 有一个整数序列,所有元素均不相同,设计一个算法求相差最小的元素对的个 数。如序列 4、1、2、3 的相差最小的元素对的个数是 3,其元素对是(1,2),(2,3), (3,4)。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
Int Least(vector<int> &L)
{ sort(L.begin(),L.end());
int ans=1;
int mindif=L[1]-L[0];
For (int i=2;i<L.size();i++)
{ if (L[i]-L[i-1]<mindif
{ ans=1;
Mindif=L[i]-L[i-1];
}
else if(L[i]-L[i-1]=mindif)
ans++;
}
return ans;
}