Przybliżona treść zadania z drugich laboratoriów sztucznej inteligencji:

Opracować program transformujący listę na drzewo binarne BST oraz sortujący to drzewo za pomocą przeszukiwania pre-order.

Mając doświadczenie implementowania takich drzew i algorytmów przeszukiwania w języku C nie obawiałem się zaimplementowania takiego algorytmu w innym języku. Wychodziłem z założenia, że co najwyżej pomęczę się trochę z inną składnią języka. Jak się okazało, aby zaimplementować taki algorytm w języku Prolog musiałem poświęcić całą niedzielę i nie zdążyłbym, gdyby nie pomoc moich znajomych. (more…)