/* package whatever; // don't place package name! */
import java.util.* ;
import java.lang.* ;
import java.io.* ;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
class TernarySearchTree
{
char data;
TernarySearchTree left,right,mid;
boolean end;
public TernarySearchTree( char data,boolean end,TernarySearchTree left,TernarySearchTree right,TernarySearchTree mid)
{
this .data = data;
this .end = end;
this .left = left;
this .mid = mid;
this .right = right;
}
}
public TernarySearchTree searchPosition
( TernarySearchTree root,
String word
) {
if ( root== null )
return insert( root,word) ;
if ( word.charAt ( 0 ) > root.data )
root.right = searchPosition( root.right ,word) ;
else if ( word.charAt ( 0 ) < root.data )
root.left = searchPosition( root.left ,word) ;
else
{
if ( word.length ( ) == 1 )
root.end = true ;
else
root.mid = searchPosition( root.mid ,word.substring ( 1 ) ) ;
}
return root;
}
public TernarySearchTree insert
( TernarySearchTree root,
String word
) {
root= new TernarySearchTree( word.charAt ( 0 ) ,false ,null ,null ,null ) ;
if ( word.length ( ) == 1 )
root.end = true ;
else
root.mid = insert( root.mid ,word.substring ( 1 ) ) ;
return root;
}
public boolean searchTernarySearchTree
( TernarySearchTree root,
String word
) {
if ( root== null )
return false ;
if ( word.charAt ( 0 ) > root.data )
return searchTernarySearchTree( root.right ,word) ;
else if ( word.charAt ( 0 ) < root.data )
return searchTernarySearchTree( root.left ,word) ;
else
{
if ( word.length ( ) == 1 )
{
if ( root.end )
return true ;
else
return false ;
}
else
return searchTernarySearchTree( root.mid ,word.substring ( 1 ) ) ;
}
}
public void ternarySearchTreeUtil( )
{
TernarySearchTree root= null ;
par= searchPosition( root,"BOAT" ) ;
searchPosition( par,"BOATS" ) ;
searchPosition( par,"BOA" ) ;
searchPosition( par,"BOSS" ) ;
searchPosition( par,"BOOM" ) ;
searchPosition( par,"BOOK" ) ;
searchPosition( par,"MAN" ) ;
System .
out .
println ( searchTernarySearchTree
( par,
"BOOK" ) ) ;
}
{
// your code goes here
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCWNsYXNzIFRlcm5hcnlTZWFyY2hUcmVlCgl7CgkJY2hhciBkYXRhOwoJCVRlcm5hcnlTZWFyY2hUcmVlIGxlZnQscmlnaHQsbWlkOwoJCWJvb2xlYW4gZW5kOwoJCQoJCXB1YmxpYyBUZXJuYXJ5U2VhcmNoVHJlZShjaGFyIGRhdGEsYm9vbGVhbiBlbmQsVGVybmFyeVNlYXJjaFRyZWUgbGVmdCxUZXJuYXJ5U2VhcmNoVHJlZSByaWdodCxUZXJuYXJ5U2VhcmNoVHJlZSBtaWQpCgkJewoJCQl0aGlzLmRhdGE9ZGF0YTsKCQkJdGhpcy5lbmQ9ZW5kOwoJCQl0aGlzLmxlZnQ9bGVmdDsKCQkJdGhpcy5taWQ9bWlkOwoJCQl0aGlzLnJpZ2h0PXJpZ2h0OwoJCX0KCX0KCQoJcHVibGljIFRlcm5hcnlTZWFyY2hUcmVlIHNlYXJjaFBvc2l0aW9uKFRlcm5hcnlTZWFyY2hUcmVlIHJvb3QsU3RyaW5nIHdvcmQpCgl7CgkJaWYocm9vdD09bnVsbCkKCQkJcmV0dXJuIGluc2VydChyb290LHdvcmQpOwoJCQoJCWlmKHdvcmQuY2hhckF0KDApPnJvb3QuZGF0YSkKCQkJcm9vdC5yaWdodD1zZWFyY2hQb3NpdGlvbihyb290LnJpZ2h0LHdvcmQpOwoJCQkKCQllbHNlIGlmKHdvcmQuY2hhckF0KDApPHJvb3QuZGF0YSkKCQkJcm9vdC5sZWZ0PXNlYXJjaFBvc2l0aW9uKHJvb3QubGVmdCx3b3JkKTsKCQkJCgkJZWxzZQoJCXsKCQkJaWYod29yZC5sZW5ndGgoKT09MSkKCQkJCXJvb3QuZW5kPXRydWU7CgkJCWVsc2UKCQkJCXJvb3QubWlkPXNlYXJjaFBvc2l0aW9uKHJvb3QubWlkLHdvcmQuc3Vic3RyaW5nKDEpKTsKCQkJCgkJfQoJCXJldHVybiByb290OwoJfQoJcHVibGljIFRlcm5hcnlTZWFyY2hUcmVlIGluc2VydChUZXJuYXJ5U2VhcmNoVHJlZSByb290LFN0cmluZyB3b3JkKQoJewoJCXJvb3Q9bmV3IFRlcm5hcnlTZWFyY2hUcmVlKHdvcmQuY2hhckF0KDApLGZhbHNlLG51bGwsbnVsbCxudWxsKTsKCQkKCQlpZih3b3JkLmxlbmd0aCgpPT0xKQoJCQlyb290LmVuZD10cnVlOwoJCWVsc2UKCQkJcm9vdC5taWQ9aW5zZXJ0KHJvb3QubWlkLHdvcmQuc3Vic3RyaW5nKDEpKTsKCQkKCQlyZXR1cm4gcm9vdDsKCX0KCQoJcHVibGljIGJvb2xlYW4gc2VhcmNoVGVybmFyeVNlYXJjaFRyZWUoVGVybmFyeVNlYXJjaFRyZWUgcm9vdCxTdHJpbmcgd29yZCkKCXsKCQlpZihyb290PT1udWxsKQoJCQlyZXR1cm4gZmFsc2U7CgkJCgkJaWYod29yZC5jaGFyQXQoMCk+cm9vdC5kYXRhKQoJCQlyZXR1cm4gc2VhcmNoVGVybmFyeVNlYXJjaFRyZWUocm9vdC5yaWdodCx3b3JkKTsKCQllbHNlIGlmKHdvcmQuY2hhckF0KDApPHJvb3QuZGF0YSkKCQkJcmV0dXJuIHNlYXJjaFRlcm5hcnlTZWFyY2hUcmVlKHJvb3QubGVmdCx3b3JkKTsKCQllbHNlCgkJewoJCQlpZih3b3JkLmxlbmd0aCgpPT0xKQoJCQl7CgkJCQlpZihyb290LmVuZCkKCQkJCQlyZXR1cm4gdHJ1ZTsKCQkJCWVsc2UKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQkJZWxzZQoJCQkJcmV0dXJuIHNlYXJjaFRlcm5hcnlTZWFyY2hUcmVlKHJvb3QubWlkLHdvcmQuc3Vic3RyaW5nKDEpKTsKCQl9CgkJCQoJfQoJCglwdWJsaWMgdm9pZCB0ZXJuYXJ5U2VhcmNoVHJlZVV0aWwoKQoJewoJCVRlcm5hcnlTZWFyY2hUcmVlIHJvb3Q9bnVsbDsKCQkgICAgICAKCQlwYXI9c2VhcmNoUG9zaXRpb24ocm9vdCwiQk9BVCIpOwoJCQoJCXNlYXJjaFBvc2l0aW9uKHBhciwiQk9BVFMiKTsKCQkKCQlzZWFyY2hQb3NpdGlvbihwYXIsIkJPQSIpOwoJCXNlYXJjaFBvc2l0aW9uKHBhciwiQk9TUyIpOwoJCQoJCXNlYXJjaFBvc2l0aW9uKHBhciwiQk9PTSIpOwoJCXNlYXJjaFBvc2l0aW9uKHBhciwiQk9PSyIpOwoJCXNlYXJjaFBvc2l0aW9uKHBhciwiTUFOIik7CgkJU3lzdGVtLm91dC5wcmludGxuKHNlYXJjaFRlcm5hcnlTZWFyY2hUcmVlKHBhciwiQk9PSyIpKTsKCQkKCQkKCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgoJewoJCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCX0KfQ==
compilation info
Main.java:87: error: cannot find symbol
par=searchPosition(root,"BOAT");
^
symbol: variable par
location: class Ideone
Main.java:89: error: cannot find symbol
searchPosition(par,"BOATS");
^
symbol: variable par
location: class Ideone
Main.java:91: error: cannot find symbol
searchPosition(par,"BOA");
^
symbol: variable par
location: class Ideone
Main.java:92: error: cannot find symbol
searchPosition(par,"BOSS");
^
symbol: variable par
location: class Ideone
Main.java:94: error: cannot find symbol
searchPosition(par,"BOOM");
^
symbol: variable par
location: class Ideone
Main.java:95: error: cannot find symbol
searchPosition(par,"BOOK");
^
symbol: variable par
location: class Ideone
Main.java:96: error: cannot find symbol
searchPosition(par,"MAN");
^
symbol: variable par
location: class Ideone
Main.java:97: error: cannot find symbol
System.out.println(searchTernarySearchTree(par,"BOOK"));
^
symbol: variable par
location: class Ideone
8 errors
stdout