|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.04.2008, 22:04 | #1 |
Пользователь
Регистрация: 27.01.2008
Сообщений: 50
|
Бинарные деревья в С++
Задание: Составить программу, формирующую "перекрестные списки" т. е. печатающую список слов, которые встречаются в анализируемом файле, а для каждого слова - список номеров строк, в которых это слово встречается. При решении задачи рекомендуется использовать следующие структуры данных:
struct LIST // список номеров строк для данного слова {int num; struct LIST*p;} struct NODE // узел дерева с информацией об очередном слове {char *word; int k; struct NODE*left; struct NODE*right;} Мой примерный план решения: 1.Запускается цикл по i просмотра файла по строкам { при помощи getline "берем" строку из файла если i == 1 берем первое слово и формируем корень дерева Запускается цикл помещения слов строки в дерево (пока слово не будет равно NULL) { если слово больше чем узел дерева - идем вправо если меньше - влево если равно, то добавляем структуру с указанием номера строки (i) к этому узлу дерева если слово равно eof , то завершение работы программы } } // выделять слова из строки думаю при помощи функции strtok В верном ли я иду направлении? Как лучше реализовать чтение слов из файла (циклы просмотра файла по строкам и просмотра строки по словам) если можно - опишите это поподробнее |
24.04.2008, 16:31 | #2 |
Пользователь
Регистрация: 27.01.2008
Сообщений: 50
|
UP!!!!!!!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бинарные данные в delphi | Air | Общие вопросы Delphi | 10 | 30.01.2009 19:19 |
Бинарные деревья | Влдислаав3911 | Помощь студентам | 2 | 21.05.2008 23:39 |
Деревья | Зёка_студент | Помощь студентам | 1 | 26.12.2007 21:47 |
бинарные деревья. | ribka | Помощь студентам | 2 | 30.11.2007 18:13 |