我正在练习算法的复杂性,我认为以下所有代码在增长顺序方面都是二次的,但由于我需要增长的顺序作为N的函数,我认为这会改变一些事情而我不知道究竟是怎样的解决它.
int sum = 0;
for(int n = N; n > 0; n/=2)
for(int i = 0; i < n; i++)
sum++
int sum = 0;
for(int i = 1; i < N; i*=2)
for(int j = 0; j < i; j++)
sum++
int sum = 0;
for(int i = 1; i < N; i*=2)
for(int j = 0; j < N; j++)
sum++
Run Code Online (Sandbox Code Playgroud) 我试图理解这两种算法之间的区别以及它们在解决问题方面的区别.我看过算法和它们的内部.从其他已经有过经验的人那里听到会很好.特别是,我想知道他们在同一个问题上的行为方式如何.
谢谢.
我有关于NN的训练数据以及预期的输出。每个输入都是10维向量,并具有1个预期输出。我已经使用高斯对训练数据进行了归一化,但是由于它只有一维,所以我不知道如何对输出进行归一化。有任何想法吗?
例:
原始输入向量: -128.91,71.076,-100.75,4.2475,-98.811,77.219,4.4096,-15.382,-6.1477,-361.18
归一化输入向量: -0.6049、1.0412,-0.3731、0.4912,-0.3571、1.0918、0.4925、0.3296、0.4056,-2.5168
上述输入的原始预期输出为1183.6,但我不知道如何将其标准化。我是否应该将预期输出标准化为输入向量的一部分?