Форум программистов, компьютерный форум, киберфорум
Наши страницы
Prolog
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
fnatic
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 101
1

Рекурсивные структуры данных (списки и деревья)

26.05.2019, 23:11. Просмотров 1038. Ответов 4
Метки нет (Все метки)

Имеется список, элементы которого — непустые бинарные деревья. Для каждого элемента списка проверить упорядоченность, из полученных результатов сформировать список (без использования стандартного предиката findall). Получить n-й элемент списка-результата.
Очень нуждаюсь в вашей помощи
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.05.2019, 23:11
Ответы с готовыми решениями:

Рекурсивные структуры данных (списки и деревья) (Prolog)
Народ ПОМОГИТЕ пожалуйста с программой, мне сдавать ее надо в понедельник а я не сном не духом!!!!!...

Рекурсивные структуры данных (деревья)
Добрый день всем! С чего начать, дайте плз наводку, рекомендации: Написать программу для...

деревья и списки
Считать элементы заданного дерева в список: при обходе "в глубину"; обход в глубину ясен,как...

списки и бинарные деревья
доброго времени суток, в последние несколько дней начал изучать пролог, наткунулся на этот форум,...

Помогите!!!! Задачи на списки и деревья!!!
Через 3 дня сдавать, а я не могу решить :cry: Помогите пожалуйста!!!:help: 1) Написать...

4
Black Fregat
2992 / 1606 / 456
Регистрация: 31.05.2009
Сообщений: 5,729
27.05.2019, 07:57 2
У Вас скомбинировано 4 разных задачи. Вы хоть что-то из перечисленного можете сами найти сделать?
И да, какой Пролог-то?
0
fnatic
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 101
27.05.2019, 10:13  [ТС] 3
вот такой
0
Миниатюры
Рекурсивные структуры данных (списки и деревья)  
Black Fregat
2992 / 1606 / 456
Регистрация: 31.05.2009
Сообщений: 5,729
27.05.2019, 20:43 4
Лучший ответ Сообщение было отмечено fnatic как решение

Решение

Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
domains
tree = nil; tr(tree, integer, tree)
tl = tree*
 
predicates
leftest(tree, integer)
rightest(tree, integer)
left_ordered(tree)
right_ordered(tree)
ordered(tree)
filter_ordered(tl, tl)
nth(integer, tl, tree)
 
clauses
leftest(tr(nil, V, _), V) :- !. 
leftest(tr(L, _, _), V) :- 
    leftest(L, V). 
rightest(tr(_, V, nil), V) :- !. 
rightest(tr(_, _, R), V) :- 
    rightest(R, V). 
left_ordered(tr(nil, _, _)) :- !.
left_ordered(tr(L, V, _)) :- 
    ordered(L),
    rightest(L, LV), 
    LV <= V.
right_ordered(tr(_, _, nil)) :- !.
right_ordered(tr(_, V, R)) :- 
    ordered(R),
    leftest(R, RV), 
    V <= RV.
ordered(T) :-
    left_ordered(T),
    right_ordered(T).
filter_ordered([], []).
filter_ordered([H|T1], [H|T2]) :-
    ordered(H),
    !,
    filter_ordered(T1, T2).
filter_ordered([_|T1], T2) :-   
    filter_ordered(T1, T2).
nth(0, [H|_], H).
nth(N, [_|T], X) :-
    NN = N - 1,
    nth(NN, T, X).
2
fnatic
0 / 0 / 0
Регистрация: 06.11.2016
Сообщений: 101
28.05.2019, 10:32  [ТС] 5
спасибо большое, а можете подсказать как задавать значения?
0
28.05.2019, 10:32
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2019, 10:32

Списки и бинарные деревья на Visual Prolog 5.2
Здравствуйте. Надо написать две задачи на прологе. Пролог только начали изучать. Помогите,...

Динамические структуры данных (списки, очереди, стеки, деревья)
Решил я начать писать мини FAQ по моим любимым Динамическим структурам данных. Все программы я...

Динамические структуры данных (списки, очереди, стеки, деревья)
создать программу на языке Паскаль для реализации операций над одной из структур данных: -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru