|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.11.2017, 15:55 | #1 |
Новичок
Джуниор
Регистрация: 17.11.2017
Сообщений: 11
|
Рекурсия
Помогите, пожалуйста, понять рекурсию на след. примере..
<rec> <= [ <rec> X <rec> YY <rec> | <rec> YY <rec> X <rec> ] Это EBNF... [] означает опция | означает выбор из двух альтернатив Ответы могут быть следующими: XYY, YYX, XYYYYX, XXYYYY. Т.е. получается, что если мы выбираем сначала левый вариант: <rec> X <rec> YY <rec>, то происходит следующее: Вызывается например первая <rec> в списке два раза, по ее окончании, выдается "X" и мы заходим во вторую <rec>.. а дальше у меня путаница начинается, как же это можно себе представить наглядно? Спасибо за любой совет!! |
17.11.2017, 16:03 | #2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Тут ничего не вызывается. EBNF - это описание.
Цитата:
|
|
17.11.2017, 16:04 | #3 |
Забанен
Форумчанин Подтвердите свой е-майл
Регистрация: 01.11.2006
Сообщений: 420
|
Нарисуйте дерево!
Дерево рекурсивных вызовов.
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
|
17.11.2017, 21:23 | #4 | |
Новичок
Джуниор
Регистрация: 17.11.2017
Сообщений: 11
|
Цитата:
<rec> <= | X <rec> YY дает возможность записать такие элементы XXX YYYYYY. И используется здесь рекурсия, но данный пример я себе хорошо представляю, а вот вышеуказанный нет. Ваше объяснение, к сожалению, крайне непонятно, но спасибо за попытку. |
|
17.11.2017, 21:28 | #5 |
Новичок
Джуниор
Регистрация: 17.11.2017
Сообщений: 11
|
|
17.11.2017, 21:46 | #6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
17.11.2017, 21:56 | #7 |
Новичок
Джуниор
Регистрация: 17.11.2017
Сообщений: 11
|
|
17.11.2017, 22:00 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Я не про их "равенство" друг другу, а про подход/построение и т.д. И если вы понимаете, как работаете второе, то и первое работает абсолютно также.
|
17.11.2017, 22:26 | #9 | ||
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Цитата:
Этот гораздо лучше. Цитата:
pram Какие у вас есть навыки в работе с рекурсией? Какие задачи уже решали? а) Фибоначчи б) размен денег монетами в) обход в ширину г) обход в глубину д) проверка скобок на правильность е) проверка трёх разных видов скобок на правильность ж) регулярные выражения.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
||
17.11.2017, 22:27 | #10 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
П.С. Забыл спросить вас интересует генерация последовательностей по языку или распознавание входной последовательности?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсия | MaSS93 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 24.05.2012 18:52 |
рекурсия на С++ | erfo | Помощь студентам | 2 | 23.05.2012 19:06 |
рекурсия | Lena neznayka | Помощь студентам | 2 | 16.06.2010 20:46 |
Рекурсия | Solnze2 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 09.06.2010 09:28 |
рекурсия | qwerty98765 | Помощь студентам | 1 | 10.04.2010 15:22 |