Suffix tree: Difference between revisions
Content added Content deleted
m (J: simplify) |
m (→{{header|J}}) |
||
Line 133: | Line 133: | ||
if. 1=#y do. tree,(#;y);0;y return.end. |
if. 1=#y do. tree,(#;y);0;y return.end. |
||
for_box.classify y do. |
for_box.classify y do. |
||
char=. {.>{.>box |
|||
subtree=. }.build_tree }.each>box |
|||
ndx=.I.0=1&{::"1 subtree |
|||
n=.#tree |
|||
if. 1=#ndx do. |
|||
counts=. 1 + 0&{::"1 subtree |
|||
parents=. (n-1) (+*]&*) 1&{::"1 subtree |
|||
edges=. (ndx}~ <@(char,ndx&{::)) 2&{"1 subtree |
|||
tree=. tree, counts;"0 1 parents;"0 edges |
|||
else. |
|||
tree=. tree,(__;0;,char),(1;n;0) + ::]&.>"1 subtree |
|||
end. |
|||
end. |
end. |
||
) |
) |