Skip to content

Generic BK-Tree (Burkhard-Keller) for fuzzy matching in discrete metric spaces.

License

Notifications You must be signed in to change notification settings

mkarlesky/csharp-bk-tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

csharp-bk-tree

Generic BK-Tree (Burkhard-Keller) for fuzzy matching in discrete metric spaces.

This implementation is largely a port of Josh Clemm's Java example. http://code.google.com/p/java-bk-tree

Modifications to original Java code:

  1. Promoted private node class that handled only some data primitives to generic public abstract class able to handle any data.
  2. Refactored to use native C# features and removed all calls back to tree from node.
  3. Added three example distance metrics: Hamming, Lee, and Levenshtein.
    • Hamming implementation is the Wegner algorithm posted in the Hamming distance Wikipedia page
    • Levenshtein implementation by Josh Clemm ported from Java to C#
    • Lee implementation of my own devising

About

Generic BK-Tree (Burkhard-Keller) for fuzzy matching in discrete metric spaces.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published