Top.Mail.Ru
Ответы
Аватар пользователя
15лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+3

Сколько раз повторяется элемент в двоичном дереве?

Дано задание: Используя структуру данных бинарное дерево поиска решить следующую задачу: Дан набор слов. Требуется для каждого слова определить, сколько раз оно встретилось в наборе.
Формат входного файла
В первой строке входного файла дано целое число 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. Язык программирования - Паскаль.

Дополнен

Можно задать похожий риторический вопрос: Зачем учиться?.. .
Задание создаём не мы.

По дате
По рейтингу
Аватар пользователя
Новичок
15лет

Двоичное дерево-это не что то строго запрограммированное в университете Беркли и которое нельзя изменить. Двоичное дерево-это способ хранения данных. И ты сам придумываешь его структуру, соблюдая некоторые правила. Ни что тебе не мешает создать такую структуру, которая при добавлении уже существующего элемента, не создаёт новый узел, а увеличивает счётчик. Паскаль не знаю, подробности не подскажу. На С++ бы нарисовал.

Аватар пользователя
Ученик
15лет

а зачем использовать дерево ??