'Radix' Trees in 'Rcpp'

'Radix trees', or 'tries', are key-value data structures optimised for efficient lookups, similar in purpose to hash tables. 'triebeard' provides an implementation of 'radix trees' for use in R programming and in developing packages with 'Rcpp'.


Fast key-value matching in R and Rcpp

Author: Oliver Keyes, Drew Schmidt, Yuuki Takano
License: MIT
Status: Stable

###Description

Tries, or radix trees, are key-value data structures optimised for very, very fast matching of the keys against user-provided data (and then the return of the associated values!)

This is pretty useful in data cleaning and value extraction, and tries let you do it really efficiently. triebeard contains an implementation that can be used both when writing R, and when writing Rcpp (and imported and linked against, to boot). For more information see:

  1. The vignette on Rcpp usage;
  2. The vignette on R usage.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

###Installation

The stable, CRAN-ready version can be retrieved with:

install.packages("triebeard")

The latest version can be obtained via:

devtools::install_github("ironholds/triebeard")

###Dependencies

News

Version 0.3.0

DEVELOPMENT

  • Internal refactoring using templates has drastically reduced the size of the codebase

Version 0.2.1

BUG FIXES

  • Fixed segfault when trie_remove() resulted in a 0 element trie.

Version 0.2.0

FEATURES

  • tries can now be converted into lists and data.frames
  • We now have str() and print() methods! That's nice.
  • create_trie() renamed trie()

BUGS

  • Haven't found any. Probably means they're lurking around and particularly nasty.

DEVELOPMENT

  • greedy and prefix matching should now be (slightly) faster.
  • Installed size has been slightly reduced, and the C++ code simplifed.

Version 0.1.0

  • Initial, GitHub-centred release

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("triebeard")

0.3.0 by Oliver Keyes, 9 months ago


https://github.com/Ironholds/triebeard/


Report a bug at https://github.com/Ironholds/triebeard/issues


Browse source code at https://github.com/cran/triebeard


Authors: Oliver Keyes [aut, cre], Drew Schmidt [aut], Yuuki Takano [cph]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports Rcpp

Suggests knitr, rmarkdown, testthat

Linking to Rcpp


Imported by urltools.


See at CRAN