Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

рекурсия

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
di_ex



Зарегистрирован: 01.12.2004
Сообщения: 3

СообщениеДобавлено: Ср Дек 01 2004 19:00    Заголовок сообщения: рекурсия Ответить с цитатой

Никто не мог бы поделиться материалами подробнее объясняющие рекурсию в Турбо Паскале.
Все издания в которых я искал, обясняют рекурсию поверхностно, дают этот несчастный пример
по вычислению факториала и всё. При этом на более сложных задачах я сажусь в лужу из за недопонимания.
Help me ;-(
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Ср Дек 01 2004 20:29    Заголовок сообщения: Ответить с цитатой

тебе что лекции читать?
давай задачу посложней. посмотрим.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Чт Дек 02 2004 08:47    Заголовок сообщения: поймешь лучше, если.. Ответить с цитатой

..если начнешь решать задауи, требующие алгоритмов на графах. Попробуй обход в глубину разобрать, например. Но по сложности это не намного лучше факториала.. Не ищи сложность. Пример с факториалом раскрывает сущность стекового хранения и использования рекурсии для этого.
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
di_ex



Зарегистрирован: 01.12.2004
Сообщения: 3

СообщениеДобавлено: Чт Дек 02 2004 13:15    Заголовок сообщения: Ответить с цитатой

Можно и лекции =)
Из задач, вот например задача о шахматном номере. Слышали о такой?
Задача о ферзях? слышали? тоже не понятна....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Чт Дек 02 2004 17:33    Заголовок сообщения: Ответить с цитатой

это не та случайно:
как можно раставить максимальное число ферзей на поле чтоб
они друг друга небили?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
di_ex



Зарегистрирован: 01.12.2004
Сообщения: 3

СообщениеДобавлено: Чт Дек 02 2004 17:56    Заголовок сообщения: Ответить с цитатой

та. исходник у меня есть, но я не понимаю принцип этой рекурсии...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy



Зарегистрирован: 28.07.2004
Сообщения: 168

СообщениеДобавлено: Пт Дек 03 2004 13:22    Заголовок сообщения: Ответить с цитатой

тебе нужно задачу решить?
или разобраться и имсходником рекурсии
2ое может быть еще труднее сделать чем самому с нуля решить.
если 2ое то приведи рекурсию
если первое
то предлагаю без рекурсии методом полного перебора.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Пт Дек 03 2004 18:05    Заголовок сообщения: Ответить с цитатой

если я правильно всё понял, то с ферзями рекурсия и не нужна та... обычная стековая задача.
скорее для рекурсии больше подойдёт задача разбора скобок - проверить правильность раставления скобок
{(([({})]))}
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DmitryShm



Зарегистрирован: 17.11.2003
Сообщения: 211
Откуда: Казань

СообщениеДобавлено: Ср Дек 08 2004 10:08    Заголовок сообщения: читайте Ответить с цитатой

А эта задача вообще на динамическое программирование. Идея : заводишь 3 массива и за 1 проход считаешь разницу между открывающими и закрывающими скобками в части массива от 0 до k, Где k -- текущее место при проходе по строке. Дальше сама прелесть дин. программирования : надо Вам самостоятельно подумать, как бы это использовать. Анализируете сами. Подсказка: читайте Окуловские книжки для школьников. Smile

Рекурсия усложняет решение (по числу операций).
_________________
love IT
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Ср Дек 08 2004 12:28    Заголовок сообщения: Re: читайте Ответить с цитатой

DmitryShm писал(а):
А эта задача вообще на динамическое программирование. Идея : заводишь 3 массива и за 1 проход считаешь разницу между открывающими и закрывающими скобками в части массива от 0 до k

хе-хе, типичные грабли... ну посчитаешь ты количество, ну совпадёт оно, но это вовсе не означает что скобки раставлены правильна, вот те пример:
{(})
теперь покажи мне алгаритм разбора без рекурси?...
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Moby



Зарегистрирован: 19.11.2004
Сообщения: 268

СообщениеДобавлено: Ср Дек 08 2004 12:34    Заголовок сообщения: Ответить с цитатой

пардон, не вникся в текст... думать лень, поэтому верю наслово что подход рабочий, но это в данном случае заводим три масива... задачу то ведь можна расширить на произвольное количество ограничителей нежели скобки... это ж задача со своими ограничениями - цель разработка и вникание в суть рекурсии, задача имхо одна из самых прозрачных для понимания механизма рекурсии
_________________
Профи - это оборзевший ламмер
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...