Возвращать список элементов бинарного дерева númerico из-за уровней

Я открываю новую консультацию, так как предыдущая, из-за моей ошибки, была помечена как удвоенная этой другой. Различие состоит в том, что в этом случае имеется намерение возвращать список из-за уровней и не посредством поисков в глубине с предкомандой.

Пример был бы ?- escribe_arbol(1,[[[[],4,[]],2,[[],5,[]]],1,[[[],6,[]],3,[[],7,[]]]],L).. В вышеупомянутом случае, результат должен бы быть L = [1,2,3,4,5,6,7]..

  • Уровень 1: [1...]
  • Уровень 2: [..., 2,3...]
  • Уровень 3: [..., 4,5,6,7]

Мой код Пролог - следующий:

escribe_arbol(N,ABN,L):- explora_hijos(N,ABN,L).

explora_hijos(R,[],[]).
explora_hijos(R,[HI,R,HD],[R|Rs]).
explora_hijos(_,[HI,R,HD],[R|Rs]) :-
    explora_hijos(R,HI,HIs),
    explora_hijos(R,HD,HDs),
    append(HIs,HDs,R).

Результат L = [6|_5626]. а следовательно оно не функционирует совсем хорошо.

2
задан 20.06.2017, 11:21
1 ответ

nevesito que me imprima los niveles de ese árbol , Если В representa ГЎrbol упражнения 3: lista_nivel (В, 2, L). L = [2,6,9]

-2
ответ дан 24.11.2019, 08:09

Теги

Похожие вопросы