xor検索に問題があります。バイナリ値で構成される配列があります。私のリストには1000個の異なるバイナリ値が含まれていますが、ダブルループがリスト内の要素を見つけるのにかかる時間を計りたいと思います。したがって、二重ループ検索の場合、ループ[(1)+(2)+(3)+ ... +(1000)]=500500回通過すると予想されます。[n(n + 1)/ 2]
次のコードでbitwise_xorを使用します
from numpy import bitwise_xor
count = 0
for word1 in listOutTextnoB:
for word2 in listOutTextnoB:
count+=1
if bitwise_xor(word1,word2)==0:
break
print "count"
残念ながら、カウントを印刷すると、カウント=1,000,000になります
ifステートメントをに変更した場合
if bitwise_xor(word1,word2):
break
カウントは1000です
私もやろうとしました:
if word1^word2==0:
break
しかし、「TypeError:^:'str'および'str'のサポートされていないオペランドタイプ」が表示されます。
実用的な例は次のとおりです。1101110111010111011101101110110010111100101111001XOR1101110111010111011101101110110010111100101111001これで0が返され、内部ループが終了します。
コードの何が問題になっていますか?