This exercise looks at sorting in Prolog.
-
Write Prolog clauses that define the predicate sorted(L), which is true if and only if list L is sorted in ascending order.
-
Write a Prolog definition for the predicate perm(L,M), which is true if and only if L is a permutation of M.
-
Define sort(L,M) (M is a sorted version of L) using perm and sorted.
-
Run sort on longer and longer lists until you lose patience. What is the time complexity of your program?
-
Write a faster sorting algorithm, such as insertion sort or quicksort, in Prolog.
Answer
Improve This Solution
View Answer