From: <and...@us...> - 2013-09-04 15:23:34
|
Revision: 4067 http://sourceforge.net/p/dl-learner/code/4067 Author: andremelo Date: 2013-09-04 15:23:29 +0000 (Wed, 04 Sep 2013) Log Message: ----------- Modifying PrefixTrie to include "String getLongestMatch(String s)" Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-04 15:22:06 UTC (rev 4066) +++ trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-04 15:23:29 UTC (rev 4067) @@ -102,6 +102,22 @@ } return deepestWithValue.value; } + + public CharSequence getLongestMatch(CharSequence s) { + Node<T> current = root; + int i; + for (i = 0; i < s.length(); i++) { + int nodeIndex = s.charAt(i) - rangeOffset; + if (nodeIndex < 0 || rangeSize <= nodeIndex) { + return null; + } + current = current.next[nodeIndex]; + if (current == null) { + break; + } + } + return s.subSequence(0, i-1); + } /** * Returns a Map containing the same data as this structure. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-09-05 08:33:00
|
Revision: 4084 http://sourceforge.net/p/dl-learner/code/4084 Author: andremelo Date: 2013-09-05 08:32:57 +0000 (Thu, 05 Sep 2013) Log Message: ----------- Left shifting the output of getLongestMatch Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-05 08:20:31 UTC (rev 4083) +++ trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-05 08:32:57 UTC (rev 4084) @@ -116,10 +116,10 @@ break; } } - if (i<=0) + if (i<=1) return null; else - return s.subSequence(0, i-1); + return s.subSequence(1, i); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dfl...@us...> - 2013-09-09 11:03:06
|
Revision: 4103 http://sourceforge.net/p/dl-learner/code/4103 Author: dfleischhacker Date: 2013-09-09 11:03:04 +0000 (Mon, 09 Sep 2013) Log Message: ----------- Prevent trailing space in generated annotations Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-09 10:43:46 UTC (rev 4102) +++ trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-09 11:03:04 UTC (rev 4103) @@ -138,7 +138,7 @@ if (i<=1 || deepestWithValue==root || deepestWithValue.value==null) return null; else - return s.subSequence(0, i); + return s.subSequence(0, i - 1); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2013-09-10 10:23:39
|
Revision: 4105 http://sourceforge.net/p/dl-learner/code/4105 Author: andremelo Date: 2013-09-10 10:23:36 +0000 (Tue, 10 Sep 2013) Log Message: ----------- Simplifying getLongestMatch method Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java Modified: trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-09 11:21:51 UTC (rev 4104) +++ trunk/components-core/src/main/java/org/dllearner/utilities/datastructures/PrefixTrie.java 2013-09-10 10:23:36 UTC (rev 4105) @@ -119,26 +119,25 @@ } public CharSequence getLongestMatch(CharSequence s) { - Node<T> deepestWithValue = root; Node<T> current = root; int i; + int end = 0; for (i = 0; i < s.length(); i++) { int nodeIndex = s.charAt(i) - rangeOffset; - if (nodeIndex < 0 || rangeSize <= nodeIndex) { + if (nodeIndex < 0 || rangeSize <= nodeIndex) return null; - } + current = current.next[nodeIndex]; - if (current == null) { + if (current == null) break; - } - if (current.value != null) { - deepestWithValue = current; - } + + if (current.value != null) + end = i; } - if (i<=1 || deepestWithValue==root || deepestWithValue.value==null) + if (end==0) return null; - else - return s.subSequence(0, i - 1); + else + return s.subSequence(0, end+1); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |