Описание тега mutual-recursion
Взаимная рекурсия - это случай в информатике, где несколько задач, которые зависят друг от друга, образуют цикл, например, проблема с курицей и яйцом.
1
ответ
Как работает реализация функции класса типов Eq: x == y = not (x /= y) x /= y = not (x == y)?
Я читаю книгу, и она говорит об определении типа классов Eq Есть две функции ==, /= в уравнении, и они реализованы как: x == y = not (x /= y) x /= y = not (x == y) В книге говорится, что они взаимно рекурсивны, результат функции находится в элементе…
26 июн '13 в 11:03
3
ответа
Простая задача определения функции javascript
function First () { setTimeout("Second()", 50) }; function Second () { //I'm very confident this conditional works fine if (document.getElementsByClassName("l")[0].href == document.getElementById("myFrame").getAttribute("src")) { First(); } else { v…
10 янв '11 в 23:45
4
ответа
Как сделать так, чтобы два метода вызывали друг друга?
Я немного запутался в том, как заставить два метода вызывать друг друга (т.е. иметь A() вызов B() а также B() вызов A()). Кажется, что F# только "видит" метод после того, как он встречен в коде, поэтому, если это не так, он просто говорит, что значе…
25 мар '09 в 07:56
1
ответ
Пролог Взаимная рекурсия
Хорошо, я пишу код для проверки каждого значения с помощью взаимной рекурсии в Прологе. Это мой код до сих пор: semestersok(SP) :- [Prior|Tail] = SP, sem1ok(SP). %% sem1ok(SP) :- checks semester 1 of SP is ok sem1ok(SP) :- [Sem1|Tail] = SP, sem2ok(T…
19 июн '14 в 08:45
2
ответа
Как сделать взаимно рекурсивные структуры в Javascript?
Мне было интересно, возможно ли иметь взаимно рекурсивные объекты в Javascript и, если да, то как? Цель: Я хочу иметь три объекта: Тот, который представляет Boolean тип с двумя значениями True а также False Тот, который представляет True объект Bool…
14 ноя '14 в 17:42
2
ответа
OCaml: объявление функции перед ее определением
Есть ли способ объявить функцию перед ее определением в OCaml? Я использую переводчик OCaml. У меня есть две функции: let myFunctionA = (* some stuff here..... *) myFunctionB (*some stuff *) let myFunctionB = (* some stuff here .... *) myFunctionA (…
30 сен '11 в 16:50
0
ответов
Как посчитать точное количество рекурсивных вызовов рекурсивного метода, который вызывает другие рекурсивные функции, если не базовый случай?
У меня есть домашнее задание, которое заключается в рекурсивном решении Ханойских башен для графа G = {V,E}, где V={Start, Aux1, Aux2, Aux3, Dest} и E={(Start,Aux1), (Aux1,Aux2), (Aux2,Aux3), (Aux3,Aux1), (Aux3,Dest)}. После разработки алгоритма я д…
27 янв '19 в 18:31
1
ответ
Как я могу написать эту функцию только с помощью рекурсии в F#?
let rec n_cartesian_product = function | [] -> [[]] | x :: xs -> let rest = n_cartesian_product xs List.concat (List.map (fun i -> List.map (fun rs -> i :: rs) rest) x) Здравствуйте! Я написал эту функцию, но мне нужно написать ее без ис…
22 ноя '15 в 23:53
1
ответ
Как инициализировать взаимно рекурсивные записи в F#
У меня есть две записи, которые имеют отношения родитель-ребенок: type Parent = { Number: int Child: Child } and Child = { String: string Parent: Parent } Я попытался инициализировать их, используя следующий синтаксис, который не работает: let rec p…
20 мар '18 в 07:39
1
ответ
Haskell позволяет выражению сходиться, в то время как подобное выражение, использующее fix, не
Мне было трудно понять, почему выражение haskell let (x,y) = (y,1) in (x,y) сходится к (1,1) как и ожидалось, но fix (\(x,y)-> (y,1)) результаты в <<loop>> быть брошенным Кто-нибудь может объяснить это?
08 янв '18 в 02:55
3
ответа
Как называется такая взаимная "рекурсия"?
Моя проблема связана с определенным стилем кода, который очень напоминает рекурсию, но не совсем так. По словам Википедии, рекурсия - это "метод определения функций, в котором определяемая функция применяется в своем собственном определении". Точно …
19 апр '10 в 13:54
1
ответ
Ракетка -> Питон
Я начал изучать ракетку, и я использую произвольные деревья арности и генеративную рекурсию, чтобы получить каждую возможную версию доски с данной доски. Допустим, у меня есть эта доска, где false означает пустое: (list "X" "X" "O" "O" "X" "O" "X" #…
18 июл '17 в 03:16
3
ответа
Взаимная рекурсия между объектами в Python
В настоящее время я работаю над модулем, который позволяет пользователям создавать произвольную модель сети задач (для использования в моделировании дискретных событий) путем создания экземпляров объектов задач (мой модуль предоставляет класс задач)…
02 июн '17 в 18:25
2
ответа
Как ускорить (или запомнить) ряд взаимно рекурсивных функций
У меня есть программа, которая производит ряд функций f а также g который выглядит следующим образом: step (f,g) = (newF f g, newG f g) newF f g x = r (f x) (g x) newG f g x = s (f x) (g x) foo = iterate step (f0,g0) Где r и s - некоторые неинтересн…
13 апр '12 в 04:37
3
ответа
Невозможно понять взаимную рекурсию
Я читаю Программирование В Haskell, в 8-й главе автор приводит пример написания парсеров. Полный источник здесь: http://www.cs.nott.ac.uk/~gmh/Parsing.lhs Я не могу понять следующую часть: many разрешает ноль или более приложений p, в то время как m…
21 май '11 в 09:58
1
ответ
Как писать взаимно рекурсивные функции в Haxe
Я пытаюсь написать простую взаимно рекурсивную функцию в Haxe 3, но не смог заставить код скомпилироваться, потому что какая-либо из взаимных функций, которая появится первой, сообщит, что другие функции в группе не определены. Ниже приведен минимал…
21 июн '14 в 21:50
2
ответа
Взаимная рекурсия и JSLint - функция использовалась до того, как была определена
Если я пишу следующий код, JSLint жалуется, что isOdd использовался до того, как он был определен. Есть ли способ написать взаимно рекурсивный код и все же, пожалуйста, JSLint? var isEven = function(n) { if (n === 0) { return true; } return isOdd(n …
22 авг '17 в 02:34
0
ответов
Взаимная рекурсия в rxjs
Я знаю expand реализовать рекурсию в rxjs. Я нашел много примеров того, как реализовать простую рекурсию, но ничего для взаимной рекурсии. По сути, мне нужно поддерживать список результатов в актуальном состоянии. список фильтруется через groom$ фун…
24 окт '18 в 10:19
2
ответа
Лучшая практика Coq: взаимная рекурсия, структурно уменьшается только одна функция
Рассмотрим следующее игрушечное представление для нетипизированного лямбда-исчисления: Require Import String. Open Scope string_scope. Inductive term : Set := | Var : string -> term | Abs : string -> term -> term | App : term -> term -&g…
28 июн '17 в 02:42
4
ответа
Взаимно рекурсивные классы
Как мне реализовать взаимно рекурсивные классы в C++? Что-то вроде: /* * Recursion.h * */ #ifndef RECURSION_H_ #define RECURSION_H_ class Class1 { Class2* Class2_ptr; public: void Class1_method() { //... (*Class2_ptr).Class2_method(); //... } }; cla…
04 авг '10 в 23:24