Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
di_ex
Зарегистрирован: 01.12.2004 Сообщения: 3
|
Добавлено: Ср Дек 01 2004 19:00 Заголовок сообщения: рекурсия |
|
|
Никто не мог бы поделиться материалами подробнее объясняющие рекурсию в Турбо Паскале.
Все издания в которых я искал, обясняют рекурсию поверхностно, дают этот несчастный пример
по вычислению факториала и всё. При этом на более сложных задачах я сажусь в лужу из за недопонимания.
Help me ;-( |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
droopy
Зарегистрирован: 28.07.2004 Сообщения: 168
|
Добавлено: Ср Дек 01 2004 20:29 Заголовок сообщения: |
|
|
тебе что лекции читать?
давай задачу посложней. посмотрим. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Чт Дек 02 2004 08:47 Заголовок сообщения: поймешь лучше, если.. |
|
|
..если начнешь решать задауи, требующие алгоритмов на графах. Попробуй обход в глубину разобрать, например. Но по сложности это не намного лучше факториала.. Не ищи сложность. Пример с факториалом раскрывает сущность стекового хранения и использования рекурсии для этого. _________________ love IT |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
di_ex
Зарегистрирован: 01.12.2004 Сообщения: 3
|
Добавлено: Чт Дек 02 2004 13:15 Заголовок сообщения: |
|
|
Можно и лекции =)
Из задач, вот например задача о шахматном номере. Слышали о такой?
Задача о ферзях? слышали? тоже не понятна.... |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
droopy
Зарегистрирован: 28.07.2004 Сообщения: 168
|
Добавлено: Чт Дек 02 2004 17:33 Заголовок сообщения: |
|
|
это не та случайно:
как можно раставить максимальное число ферзей на поле чтоб
они друг друга небили? |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
di_ex
Зарегистрирован: 01.12.2004 Сообщения: 3
|
Добавлено: Чт Дек 02 2004 17:56 Заголовок сообщения: |
|
|
та. исходник у меня есть, но я не понимаю принцип этой рекурсии... |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
droopy
Зарегистрирован: 28.07.2004 Сообщения: 168
|
Добавлено: Пт Дек 03 2004 13:22 Заголовок сообщения: |
|
|
тебе нужно задачу решить?
или разобраться и имсходником рекурсии
2ое может быть еще труднее сделать чем самому с нуля решить.
если 2ое то приведи рекурсию
если первое
то предлагаю без рекурсии методом полного перебора. |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Пт Дек 03 2004 18:05 Заголовок сообщения: |
|
|
если я правильно всё понял, то с ферзями рекурсия и не нужна та... обычная стековая задача.
скорее для рекурсии больше подойдёт задача разбора скобок - проверить правильность раставления скобок
{(([({})]))} _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
DmitryShm
Зарегистрирован: 17.11.2003 Сообщения: 211 Откуда: Казань
|
Добавлено: Ср Дек 08 2004 10:08 Заголовок сообщения: читайте |
|
|
А эта задача вообще на динамическое программирование. Идея : заводишь 3 массива и за 1 проход считаешь разницу между открывающими и закрывающими скобками в части массива от 0 до k, Где k -- текущее место при проходе по строке. Дальше сама прелесть дин. программирования : надо Вам самостоятельно подумать, как бы это использовать. Анализируете сами. Подсказка: читайте Окуловские книжки для школьников.
Рекурсия усложняет решение (по числу операций). _________________ love IT |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Ср Дек 08 2004 12:28 Заголовок сообщения: Re: читайте |
|
|
DmitryShm писал(а): | А эта задача вообще на динамическое программирование. Идея : заводишь 3 массива и за 1 проход считаешь разницу между открывающими и закрывающими скобками в части массива от 0 до k |
хе-хе, типичные грабли... ну посчитаешь ты количество, ну совпадёт оно, но это вовсе не означает что скобки раставлены правильна, вот те пример:
{(})
теперь покажи мне алгаритм разбора без рекурси?... _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
Moby
Зарегистрирован: 19.11.2004 Сообщения: 268
|
Добавлено: Ср Дек 08 2004 12:34 Заголовок сообщения: |
|
|
пардон, не вникся в текст... думать лень, поэтому верю наслово что подход рабочий, но это в данном случае заводим три масива... задачу то ведь можна расширить на произвольное количество ограничителей нежели скобки... это ж задача со своими ограничениями - цель разработка и вникание в суть рекурсии, задача имхо одна из самых прозрачных для понимания механизма рекурсии _________________ Профи - это оборзевший ламмер |
|
Вернуться к началу |
|
![](templates/subSilver/images/spacer.gif) |
|