Definition: A string matching algorithm that is a variant of the Boyer-Moore algorithm. It uses two consecutive text characters to compute the bad character shift. It is faster when the alphabet or pattern is small, but the skip table grows quickly, slowing the pre-processing phase.

Author: BB


explanation, animation, and example (C)

More information

R. F. Zhu and T. Takaoka, On improving the average case of the Boyer-Moore string matching algorithm, J. Inform. Process. 10(3):173-177 (1987).

Go to the Dictionary of Algorithms and Data Structures home page.

If you have suggestions, corrections, or comments, please get in touch with Paul E. Black.

Entry modified 17 December 2004.
HTML page formatted Tue Dec 6 16:16:33 2011.

Cite this as:
Bob Bockholt, "Zhu-Takaoka", in Dictionary of Algorithms and Data Structures [online], Paul E. Black, ed., U.S. National Institute of Standards and Technology. 17 December 2004. (accessed TODAY) Available from:

to NIST home page