手紙のモールス信号表現はどのように決定されますか?
"E"="。" "T" ="-"
なぜアルファベットではないのですか?たとえば、 "A" = "。"、 "B" = "-"、 "C" =".-"などです。
これらの文字で満たされたバイナリツリーをトラバースするためのアルゴリズムを開発しようとしています。
私の主な目的は「A」のような文字を検索することですが、右ノードまたは左ノードに分岐するタイミングを決定するために使用する条件がわかりません。
編集
これが私がやろうとしたことです。ここでは、パスを追跡しようとしています。しかし、「E」のような文字で試してみると、ルートが空であると表示されます。
static boolean treeContains( Node root, String item ) {
// Return true if item is one of the items in the binary
// sort tree to which node points. Return false if not.
if ( root == null ) {
// Tree is empty, so it certainly doesn't contain item.
System.out.print("Is null");
return false;
}
else if ( item.equals(root.element) ) {
// Yes, the item has been found in the root node.
return true;
}
else if ( item.compareTo(root.element) < 0 ) {
// If the item occurs, it must be in the left subtree.
// So, return the result of searching the left subtree.
res = res.concat(".");
return treeContains( root.right, item );
}
else {
// If the item occurs, it must be in the right subtree.
// So, return the result of searching the right subtree.
res = res.concat("-");
return treeContains( root.left, item );
}
} // end treeContains()