Программирование на языке ПРОЛОГ для искуственного интеллекта




Двоично - троичные справочники - часть 5


(b)  встав( в2( Д1, М, Д2), X,
                        в3( НД1а, Мб, НД1б, М, Д2) );
(c)  встав( в3( Д1, М2, Д2, М3, Д3), X,
                        в2( НД1а, Мб, НД1б), М2, в2( Д2, М3, Д3) ).

line();

% Вставление элемента в 2-3 справочник

        доб23( Дер, X, Дер1) :-             % Вставить Х в Дер, получить Дер1
                встав( Дер, X, Дер1).        % Дерево растет вширь

        доб23( Дер, X, в2( Д1, М2, Д2) ) :-
                встав( Дер, X, Д1, М2, Д2).
        % Дерево растет вглубь

        доб23( nil, X, л( Х) ).

        встав( л( А), X, л( А), X, л( Х) ) :-
                больше( X, А).

        встав( л( А), X, л( Х), А, л( А) ) :-
                больше( А, X).

        встав( в2( Д1, М, Д2), X, в2( НД1, М, Д2) ) :-
                больше( М, X),
                встав( Д1, X, НД1).

        встав( в2( Д1, М, Д2), Х, в3( НД1а, Мб, НД1б, М, Д2) ) :-
                больше( М, X),



Содержание  Назад  Вперед