-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path48.pl
30 lines (22 loc) · 1.02 KB
/
48.pl
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
Encabezado
% C# solucion / Python
%------------------------------------------------------------------------------
% Módulo: 50_programas
% Propósito: Elaborar 50 programas en Prolog
%
% Autor: Diaz Morales Katherine Giselle
% Fecha: 21 de octubre de 2024
%
% Descripción:
% Elaborar 50 programas en Prolog, usar templete.
--------------------------------------------------------------------------------------
- - - - - PROLOG - - - - -
48. Árboles binarios de búsqueda.
% Construye un árbol binario de búsqueda a partir de una lista de enteros.
% Un árbol binario de búsqueda es un árbol en el cual, para cada nodo, todos los elementos en el subárbol izquierdo son menores y en el subárbol derecho son mayores.
construct([], nil).
construct([X|Xs], T) :- construct(Xs, T1), add(X, T1, T).
% Añade un nodo a un árbol binario de búsqueda.
add(X, nil, t(X, nil, nil)).
add(X, t(Root, L, R), t(Root, NL, R)) :- X < Root, add(X, L, NL).
add(X, t(Root, L, R), t(Root, L, NR)) :- X >= Root, add(X, R, NR).