bitap算法理解

时间:2016-01-25 18:53:11

标签: python algorithm string-matching

我正在研究基于观察其他此类算法的个性化字符串匹配算法。以下代码来自实现bitap算法的脚本,我试图理解语法,在使state-vector / table定义“string”和“haystack”之间的相似性的过程中。

letterPositionInNeedle = 0
for symbol in needle:
  letterPositionInNeedle = letterPositionInNeedle << 1 # what is this line supposed to do?

我理解制作表格以评估相似性但“&lt;&lt;”符号令我困惑。是否应该迭代“letterPositionInNeedle”的长度?

1 个答案:

答案 0 :(得分:1)

letterPositionInNeedle = letterPositionInNeedle << 1

向左移位。逻辑上等于

letterPositionInNeedle = letterPositionInNeedle * 2