


Сколько раз повторяется элемент в двоичном дереве?
Дано задание: Используя структуру данных бинарное дерево поиска решить следующую задачу: Дан набор слов. Требуется для каждого слова определить, сколько раз оно встретилось в наборе.
Формат входного файла
В первой строке входного файла дано целое число N - количество слов в наборе.
В последующих N строках даны сами слова набора (по одному на строку) .
Формат выходного файла
В первой строке выходного файла вывести сичло M - количество неповторяющихся слов набора.
В последующих M строках вывести по одной паре вида: слово количество_вхождений. Элементы пары разделены ровно одним пробелом. Слова должны быть упорядочены лексикографически по убыванию.
Пример
test.in
5
tree
bee
snail
whale
tree
test.out
4
whale 1
tree 2
snail 1
bee 1
_______
Задачу я сам понял, решил. Почти. Строю дерево из входных данных, нахожу количество неповторяющихся слов, располагаю их в порядке убывания, а вот найти, сколько раз повторяется каждое слово не получается. Пробовал в алгоритм поиска для дерева вместо булеоновской переменной вставлять числовую, и для каждого слова просчитывать, да что-то не получается. Подскажите (не прошу сам код, хотя буду благодарен) , как реализовать подсчёт количества повторений?
P.S. Язык программирования - Паскаль.
Можно задать похожий риторический вопрос: Зачем учиться?.. .
Задание создаём не мы.
Двоичное дерево-это не что то строго запрограммированное в университете Беркли и которое нельзя изменить. Двоичное дерево-это способ хранения данных. И ты сам придумываешь его структуру, соблюдая некоторые правила. Ни что тебе не мешает создать такую структуру, которая при добавлении уже существующего элемента, не создаёт новый узел, а увеличивает счётчик. Паскаль не знаю, подробности не подскажу. На С++ бы нарисовал.
а зачем использовать дерево ??