我使用集群实现,我希望数据X形成我在算法中定义的集群数量(我相信这就是它的工作方式)。但这种行为令人困惑。
cm = FCM(n_clusters=6)
cm.fit(X)
此代码生成一个带有4个标签的图- 0,2,4,6
cm = FCM(n_clusters=4)
cm.fit(X)
此代码生成一个带有4个标签的图- 0,1,2,3
当我初始化簇号时,我期望标签0,1,2,3,4,5为6。
代码:
from fcmeans import FCM
from matplotlib import pyplot as plt
from seaborn import scatterplot as s
实现了一种求整数模乘逆的算法。代码可以工作,但是太慢了,我不知道为什么。我将其与我在Rosetta代码中找到的算法进行了比较,后者更长,但速度更快。
我的实施:
def modinv1(a, c)
raise "#{a} and #{c} are not coprime" unless a.gcd(c) == 1
0.upto(c - 1).map { |b| (a * b) % c }.index(1)
end
“罗塞塔守则”的执行情况:
modinv2 (a,m) #计算a^-1 mod m(如果可能的话),除非a.gcd(m) == 1返回m,如果m == 1 m
我目前正在测试根据键值对列表进行排序的最佳算法。
我有一个非常简单的对象(以下代码片段来自C#)
class BasicObject
{
int Key;
}
密钥是在构造对象时随机设置的。
所以我有一个BasicObject对象列表,最后需要按键值排序。
List<BasicObject> basicList = new List<BasicObject>();
for (int i = 0; i < someAmount; i++)
{
basicList.Add(new BasicObject());
}
我的想法是,创建一个名为orderedList的新列
以下是代码:
#include <stdio.h>
long f[2801];
int main()
{
long i = 0, c = 2800, d = 0, e = 0, g = 0;
for (i = 0; i < c; ++i)
f[i] = 2000;
for (;;) {
d = 0;
g = c * 2;
if (!g)
break;
i = c;
for(;;) {
d += f[i]
我正在为我的C#班级做一个学校项目,我在弄清楚如何从我的文本文件中解析这些命令时遇到了麻烦。
我把这个放在里面了
I:3
I:6
基本上,我尝试从文件中读取这些命令并执行它们,这将向我的链表中添加一个节点,并将其显示在控制台中。我已经逐行解析了文件,但不确定如何提取命令并执行它们。因此,当它读取I:3时,控制台将显示Node1:3,依此类推。谢谢你,这就是我到目前为止所得到的:
public class LinkedList {
Node head; //the head of list
public class Node {
public int data
鉴于以下结构:
class G {
Node[] nodes;
}
class Node {
Node neighbour;
}
深度复制操作可以定义为:
function G copy (G g) {
G r = new G();
Map isom = new Map();
for (Node node in g.nodes) {
Node c = isom.get(node);
if (c == null) {
c = copy(node, isom);
isom.put