在第9步有一个问题。它走错了一步
我在找一个解决方案。我没有找到它,所以我试着把河内的4个pegs代码改成5个pegs。它不能正常工作
void Shift(int s, int d){
cout<<s<<" "<<d<<endl;
}
void Hanoi5(int n, int from_rod, int to_rod,int aux_rod1, int aux_rod2, int aux_rod3)
{
if (n == 0)
return;
if (n == 1) {
我突然意识到,使用随机数来选择类似于gambling roulette的parents,也许是workalbe.Let me,用find the max value of function.The示例中的一个示例解释它,如下所示:
1.假设我们已经生成了n随机individual,并计算了它们的function value.We,命名为'j‘Xj,其函数值名为f(Xj).And,我们找到并命名了最大函数值maxValue。
2.很明显,fitness of individual j is f(Xj)/maxValue.We可以将其命名为g(Xj).And,然后计算出个体的所有适
问题是:
1) I have buckets of fixed size, in my case 64. This cannot change.
2) Values vary in size, but are never bigger than a bucket (64).
3) Access is much slower if any element is split between buckets.
有没有什么算法可以计算存储桶中元素的最优顺序?
这里有两种变化,我对这两种都很感兴趣,以使代码的用户能够在速度和内存使用之间进行选择:
A) Splitting is allowed, but
我已经研究排序算法几个星期了,但我的一个问题仍然没有答案:对于固定大小的和随机访问的集合,是否有最佳的顺序比较排序?大多数排序算法都适应于集合的大小,但是知道要排序的集合的大小可以为这个大小选择特定的排序算法。例如,下面的算法应该用最优比较数和最佳交换或赋值数(它是C++,但应该很容易翻译成任何语言)对三个值进行排序:
void sort3(int& x, int& y, int& z)
{
if (x < y) {
if (z < y) {
if (z < x) {
我正在使用PySpark对数据集执行聚类。为了找到集群的数量,我对一系列值(2,20)执行了聚类,并为k的每个值找到了k(在集群内的平方和)值。在这里我发现了一些不寻常的东西。根据我的理解,当增加簇数时,wsse会单调地减少。但结果我却不这么说。我只显示前几个集群的wsse。
Results from spark
For k = 002 WSSE is 255318.793358
For k = 003 WSSE is 209788.479560
For k = 004 WSSE is 208498.351074
For k = 005 WSSE is 142573.272672
For k