commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Neidhart (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (COLLECTIONS-225) Contribution: A Patricia Tree
Date Thu, 13 Jun 2013 21:09:21 GMT

    [ https://issues.apache.org/jira/browse/COLLECTIONS-225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13682741#comment-13682741
] 

Thomas Neidhart commented on COLLECTIONS-225:
---------------------------------------------

Did a great deal of refactoring:

 * Trie interface now inherits from IterableSortedMap
 ** obsoletes the traverse / cursor stuff: use OrderedMapIterator instead
 ** hide bit-wise select / getPrefixedBy methods
 ** rename getPrefixedBy to prefixMap to be consistent with other methods like tailMap, headMap
...
 * removed all key analyzers but the StringKeyAnalyzer
 * make PatriciaTrie a concrete implementation of AbstractPatriciaTrie with Strings as key
 * integrated the unit tests into the test framework

The rationale behind this changes:

 * keep the interface & implementation simple and understandable
 * favor and re-use existing stuff in collections over new concepts
                
> Contribution: A Patricia Tree
> -----------------------------
>
>                 Key: COLLECTIONS-225
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-225
>             Project: Commons Collections
>          Issue Type: New Feature
>          Components: Map
>            Reporter: Sam Berlin
>             Fix For: 4.0
>
>         Attachments: patricia.zip
>
>
> We (Roger Kapsi & I) would like to contribute a Patricia tree.  The tree implements
the Map & SortedMap interface, meaning it can be used as a replacement for any arbitrary
map.  It also implementes a new 'Trie' interface, allowing other implementations or other
varieties of Tries to be added.  The tree is currently written for generics, but that can
easily be removed.  We have used the tree as the structure backing a route table in a new
Kademlia-based DHT, as the structure backing an IP filter (storing IP addresses & IP ranges,
allowing retrieval/searching in nanoseconds), and have tested it with Strings by storing all
of 'hamlet' and comparing it against a TreeSet.  The tree is also ready to implement NavigableMap
whenever Java 1.6 becomes available.
> I will attach the files in an update to this issue

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message