Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,21 @@
|
|||
(defun all-subsequences (list)
|
||||
(labels ((subsequences (tail &optional (acc '()) (result '()))
|
||||
"Return a list of the subsequence designators of the
|
||||
subsequences of tail. Each subsequence designator is a
|
||||
list of tails of tail, the subsequence being the first
|
||||
element of each tail."
|
||||
(if (endp tail)
|
||||
(list* (reverse acc) result)
|
||||
(subsequences (rest tail) (list* tail acc)
|
||||
(append (subsequences (rest tail) acc) result))))
|
||||
(continuous-p (subsequence-d)
|
||||
"True if the designated subsequence is continuous."
|
||||
(loop for i in subsequence-d
|
||||
for j on (first subsequence-d)
|
||||
always (eq i j)))
|
||||
(designated-sequence (subsequence-d)
|
||||
"Destructively transforms a subsequence designator into
|
||||
the designated subsequence."
|
||||
(map-into subsequence-d 'first subsequence-d)))
|
||||
(let ((nc-subsequences (delete-if #'continuous-p (subsequences list))))
|
||||
(map-into nc-subsequences #'designated-sequence nc-subsequences))))
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
(defun all-subsequences2 (list)
|
||||
(labels ((recurse (s list)
|
||||
(if (endp list)
|
||||
(if (>= s 3)
|
||||
'(())
|
||||
'())
|
||||
(let ((x (car list))
|
||||
(xs (cdr list)))
|
||||
(if (evenp s)
|
||||
(append (mapcar (lambda (ys) (cons x ys))
|
||||
(recurse (+ s 1) xs))
|
||||
(recurse s xs))
|
||||
(append (mapcar (lambda (ys) (cons x ys))
|
||||
(recurse s xs))
|
||||
(recurse (+ s 1) xs)))))))
|
||||
(recurse 0 list)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue