MCPcopy
hub / github.com/kevin-wayne/algs4 / main

Method main

src/main/java/edu/princeton/cs/algs4/SuffixArrayX.java:235–269  ·  view source on GitHub ↗

Unit tests the SuffixArrayX data type. @param args the command-line arguments

(String[] args)

Source from the content-addressed store, hash-verified

233 * @param args the command-line arguments
234 */
235 public static void main(String[] args) {
236 String s = StdIn.readAll().replaceAll("\n", " ").trim();
237 SuffixArrayX suffix1 = new SuffixArrayX(s);
238 SuffixArray suffix2 = new SuffixArray(s);
239 boolean check = true;
240 for (int i = 0; check && i < s.length(); i++) {
241 if (suffix1.index(i) != suffix2.index(i)) {
242 StdOut.println("suffix1(" + i + ") = " + suffix1.index(i));
243 StdOut.println("suffix2(" + i + ") = " + suffix2.index(i));
244 String ith = "\"" + s.substring(suffix1.index(i), Math.min(suffix1.index(i) + 50, s.length())) + "\"";
245 String jth = "\"" + s.substring(suffix2.index(i), Math.min(suffix2.index(i) + 50, s.length())) + "\"";
246 StdOut.println(ith);
247 StdOut.println(jth);
248 check = false;
249 }
250 }
251
252 StdOut.println(" i ind lcp rnk select");
253 StdOut.println("---------------------------");
254
255 for (int i = 0; i < s.length(); i++) {
256 int index = suffix2.index(i);
257 String ith = "\"" + s.substring(index, Math.min(index + 50, s.length())) + "\"";
258 int rank = suffix2.rank(s.substring(index));
259 assert s.substring(index).equals(suffix2.select(i));
260 if (i == 0) {
261 StdOut.printf("%3d %3d %3s %3d %s\n", i, index, "-", rank, ith);
262 }
263 else {
264 // int lcp = suffix.lcp(suffix2.index(i), suffix2.index(i-1));
265 int lcp = suffix2.lcp(i);
266 StdOut.printf("%3d %3d %3d %3d %s\n", i, index, lcp, rank, ith);
267 }
268 }
269 }
270
271}
272

Callers

nothing calls this directly

Calls 11

readAllMethod · 0.95
indexMethod · 0.95
indexMethod · 0.95
printlnMethod · 0.95
rankMethod · 0.95
selectMethod · 0.95
printfMethod · 0.95
lcpMethod · 0.95
lengthMethod · 0.45
minMethod · 0.45
equalsMethod · 0.45

Tested by

no test coverage detected