0
我想比较三种不同的解码器在python中的汉明码:蛮力,本地搜索和综合征。我有我的蛮力实施问题:在python中的汉明码解码器?
def bruteForce(v):
n = len(v)
r = int(math.log(n+1,2))
k = n-r
m = []
d = []
c = []
for i in range(2**k):
m.append(decimalToVector(i,k))
for j in range(2**k):
d.append(hammingDistance(matrixMult(m[j], HammingG(r)),v))
for l in range(2**k):
if d[l] <= 1:
c = matrixMult(m[l], HammingG(r))
return c
这将运行没有错误,但产量只是[]
,而不是二进制数的任何序列,当输入,例如bruteForce([1,0,0,0,0,0,1])
载体。
你的问题到底是什么?错误(提供追溯)?意想不到的产出(提供投入,预期产出,实际产出)? – jonrsharpe
蛮力编译好,但输出是简单的“[]”,而不是任何序列的二进制数,当输入是一个向量如bruteForce([1,0,0,0,0,0,1]) – user3236854
作为输出是否意想不到'[]'?如果是这样,为什么你初始化C到'[]'?在你的代码中,返回的值是这个空列表(如果所有'l'的'd [l]> 1'),或者最后一个循环中最后一次计算的结果。 –