|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.08.2010, 14:11 | #1 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Поиск последнего слова фразы в дереве предложения.
Взываю о помощи!!
Вообщем последовательный текст содержится в такой матрёшке, она вроде деревом называется. ################################ ОБЪЕКТ (слово) (ссылка на следующий ОБЪЕКТ) Поисковый метод() КОНЕЦ ОБЪЕКТА ################################# То есть каждое слово содержит ссылку на последующее слово. Задача: есть массив из слов. Как разыскать в этом дереве элемент, соответствующий последнему слову разыскиваемого массива, причём так, чтобы все предыдущие элементы массива совпали с соответствующими элементами дерева? К примеру вот поисковый шаблон ['like','neko'] вот дерево ['the','like',('neko'),'riveк','long est','like',('neko'),'neko',] Найти должно то, что в скобочках. P.S. вроде формулировка вопроса больше теоретическая, потому запостил сюда. |
17.08.2010, 14:23 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Что-то я ниразу не понял...
А вхождения как выглядят?
I'm learning to live...
|
17.08.2010, 14:35 | #3 | |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Гы, сформулировал так, что аж вдуплил!
короче просто перебираются варианты. (если элемент равен и он не последний вызвать поисковый метод) (если равен и он последний в образце то его возвратить) (если не равен образцу и не последний в дереве то вызвать следующий поисковый метод) (если не равен образцу и следующий последний то возвратить nil ) Цитата:
|
|
17.08.2010, 14:40 | #4 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Как ты дерево строишь?
I'm learning to live...
|
|
17.08.2010, 14:43 | #5 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Тебе нужно найти слово после like ? Скан в цикле, не вижу никаких препятствий.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
17.08.2010, 14:48 | #6 |
Я
Форумчанин
Регистрация: 24.04.2010
Сообщений: 693
|
Данные у тебя не в виде дерева представлены по описанию а в виде списка.
Короче тебе надо рекурсивным методом поиск делать 1. в функцию передается указатель на первый элемент списка и шаблон поиска 2. ищется первое вхождение шаблона 3. запоминаем указатель на первое вхождение 4. вызываем эту же функцию передаем указатель на текущий элемент и шаблон поиска 5. если функция находит что-то переходим ко 2-му шагу, иначе возвращаем текущее положение
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дано предложение. Между словами предложения один пробел, а после последнего слова точка. | Vadim123456 | Помощь студентам | 0 | 01.05.2010 23:28 |
Перестановка в строке первого и последнего слова.. | mihail0608 | Общие вопросы C/C++ | 16 | 08.12.2009 16:25 |
написать с помощью рекурсии функцию поиска последнего слова в строке? - Си | Cvetok | Помощь студентам | 1 | 13.05.2008 15:43 |
предложения, все слова в которых образованны повторением одного символа, и сформировать из них массив | kluwa | Общие вопросы C/C++ | 4 | 08.12.2007 15:17 |