Программирование BST для расшифровки кода Морзе - PullRequest
0 голосов
/ 04 декабря 2018

Я работаю над проектом, в котором я должен разработать набор классов для реализации BST, который позволяет мне кодировать слово в азбуке Морзе и переводить азбуку Морзе в буквенно-цифровой формат.

Мне предоставили следующее: Общая реализация BST -> https://pastebin.com/mGLY2V25

Этот класс реализует следующий интерфейс:

public interface BSTInterface<E> {
    boolean isEmpty();

    void insert(E element);
    void remove(E element);

    int size();
    int height();

    E smallestElement();

    Iterable<E> inOrder();
    Iterable<E> preOrder();
    Iterable<E> posOrder();

    Map<Integer, List<E>> nodesByLevel();
}

И до сих пор я придумал следующее:

class MorseTree extends BST<MorseNode> {
    public MorseTree() {
        init();
    }

    private void init() {
        BufferedReader in;
        InputStream inputStream = getClass().getResourceAsStream("/morse_V3.txt");
        in = new BufferedReader(new InputStreamReader(inputStream));

        insert(new MorseNode(new String[]{"start"}));

        MorseNode last = root.getElement();
        in.lines().forEach(line -> {
            String[] temp = line.trim().replaceAll(" +", " ").split(" ");
            MorseNode w = new MorseNode(temp);

            for (int i = 0; i < temp[0].length(); i++) {

            }
        });
    }

    @Override
    public void insert(MorseNode element) {
        root = insert(element, root);
    }

    private Node<MorseNode> insert(MorseNode element, Node<MorseNode> node) {
        if (node == null) {
            return new Node<>(element, null, null);
        }
    }
}
public class MorseNode implements Comparable<MorseNode> {
    private String morse;
    private Character letter;
    private String tipo;

    public MorseNode(String[] word) {
        this.morse = word[0];
        this.letter = word[1].charAt(0);
        this.tipo = word[2];
    }

    @Override
    public int compareTo(MorseNode o) {
        if (letter == o.letter) {
            return 0;
        }
    }

    @Override
    public String toString() {
        return Character.toString(letter);
    }
}

( Pastebin )

Чтобы построить дерево, я должен прочитать файл csv / txt и вставить его,Исходя из того, что я понял, идея заключается в том, что я должен реализовать метод CompareTo в классе таким образом, чтобы предоставленный метод вставки автоматически вставлял его.

Это моя проблема.Вот уже две недели я пытаюсь и не могу понять, как сравнить две строки Морса.

Любая помощь или предложения приветствуются!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...