私は、モールス符号のアルファベット (ピリオドとアポストロフィーも同様) のバイナリ ツリーを作成し、モールス符号の行を読み取って英語に翻訳するプログラムを作成しています。(はい、ルックアップ テーブルの方が簡単なのはわかっていますが、バイナリ ツリーを整理する必要があります)。私の問題のかなりの部分は、シンボル順ではなくアルファベット順で値をツリーに入れたいということだと思います。しかし、確かにそれを行う方法があるに違いありませんか?数値ではないそのような値が100万個ある場合、それらを挿入するために最も単純な順序に並べ替える必要がないからです...そうですか?
各行にモールス符号の 1 つの文が含まれるテキスト ファイルから読み取っています。- .... ... ... ... ... ..-. ..--. .-.-.- たとえば、これは「これは楽しい」です。記号の間の 1 つのスペースは新しい文字であることを意味し、2 つのスペースは新しい単語であることを意味します。
現状では、上記の行の出力「.$$$」を取得しています。これは、ピリオドを読み取ってから、('$$$') で表されるエラーを取得していることを意味します。これは明らかに間違っています。 ..
前に言ったように、私は複雑であることを知っていますが、最初にツリー内の値をソートせずにこれを行う方法があることは確かです。噛み砕く。
誰にも洞察力がありますか?これは、私がそれについて尋ねるのを恥ずかしく思うほど、恐ろしく明白なことですか?