BK-tree




A BK-tree is a metric tree suggested by Walter Austin Burkhard and Robert M. Keller[1] specifically adapted to discrete metric spaces.
For simplicity, let us consider integer discrete metric d(x,y){displaystyle d(x,y)}d(x,y). Then, BK-tree is defined in the following way. An arbitrary element a is selected as root node. The root node may have zero or more subtrees. The k-th subtree is recursively built of all elements b such that
d(a,b)=k{displaystyle d(a,b)=k}d(a,b)=k. BK-trees can be used for approximate string matching in a dictionary [2].



See also




  • Levenshtein distance – the distance metric commonly used when building a BK-tree


  • Damerau–Levenshtein distance – a modified form of Levenshtein distance that allows transpositions



References




  • ^ W. Burkhard and R. Keller. Some approaches to best-match file searching, CACM, 1973


  • ^ R. Baeza-Yates, W. Cunto, U. Manber, and S. Wu. Proximity matching using fixed queries trees. In M. Crochemore and D. Gusfield, editors, 5th Combinatorial Pattern Matching, LNCS 807, pages 198–212, Asilomar, CA, June 1994.


  • ^ Ricardo Baeza-Yates and Gonzalo Navarro. Fast Approximate String Matching in a Dictionary. Proc. SPIRE'98



External links



  • A BK-tree implementation in Common Lisp with test results and performance graphs.

  • An explanation of BK-Trees and their relationship to metric spaces [3]

  • An explanation of BK-Trees with an implementation in C#[4]

  • A BK-tree implementation in Lua [5]











Comments

Popular posts from this blog

Information security

章鱼与海女图

Farm Security Administration