如何编写一个Python代码来检查由Cayley表定义的集合{0,1,…,n−1}上的操作*是否关联。在
我尝试的代码是:
def is_associative_cayley_table(table):
if not is_cayley_table(table):
return False
for i in range (0,len(table)):
for j in range (0,len(table)):
for k in range (0,len(table)):
if (table[table[i][j])][k])==(table[i][(table[j][k])]):
print("Okay")
else
return False
与其打印
"Okay"
n^3
次,您可能只想返回bool
。在此外,还没有算法来检查集合的关联性。
你必须使用暴力。在
最好的办法是使用Light's Associativity Test,这“不会改善
O(n^3)
最坏情况下的运行时。在某些情况下,它只是简化了任务。”相关问题 更多 >
编程相关推荐