关于“中的问题19-2”的问题;Lisp“;温斯顿和霍恩
温斯顿和霍恩的《口齿不清》中的问题19-2 在深度优先搜索中,所有 队列中给定位置的部分路径 搜索中的点与 以一种简单的方式彼此交流:每个都是 由一个节点进行的扩展 队列中它后面的部分路径。 例如,队列可能看起来像 这样地:关于“中的问题19-2”的问题;Lisp“;温斯顿和霍恩,lisp,common-lisp,Lisp,Common Lisp,温斯顿和霍恩的《口齿不清》中的问题19-2 在深度优先搜索中,所有 队列中给定位置的部分路径 搜索中的点与 以一种简单的方式彼此交流:每个都是 由一个节点进行的扩展 队列中它后面的部分路径。 例如,队列可能看起来像 这样地: ((D C B A)(C B A)(B A)(A)) 然而,我不明白情况如何。例如,我得到了输出 例如: (depth-first 's 'f) queue: ((S)) (S) queue: ((A S) (D S)) (S A) queue: ((B A S)
((D C B A)(C B A)(B A)(A))
然而,我不明白情况如何。例如,我得到了输出
例如:
(depth-first 's 'f)
queue: ((S))
(S)
queue: ((A S) (D S))
(S A)
queue: ((B A S) (D A S) (D S))
(S A B)
queue: ((C B A S) (E B A S) (D A S) (D S))
(S A B C)
queue: ((E B A S) (D A S) (D S))
(S A B E)
queue: ((D E B A S) (F E B A S) (D A S) (D S))
(S A B E D)
queue: ((F E B A S) (D A S) (D S))
(S A B E F)
在例行程序的开始处,我放置了一个打印语句:
(defun depth-first (start finish &optional
(queue (list (list start))))
(format t "~%queue: ~a" queue)
(cond ((endp queue) nil)
((eq finish (first (first queue)))
(reverse (first queue)))
(t (depth-first
start
finish
(append (extend (first queue))
(rest queue))))))
在这种情况下,队列中没有部分路径是1的扩展
队列中部分路径后面的节点。
这是练习中的打印错误还是有输入错误
真的给他排队吗 参见Pascal Bourguignon