1
트리를 사용하여 목록을 반환하고 각 목록이 트리 경로 인 조건 자 (프롤로그)를 작성하려고합니다. 트리는 트리 (Root, LeftTree, RightTree)로 정의됩니다. 제안 사항이 있습니까?목록 목록의 트리 경로
트리를 사용하여 목록을 반환하고 각 목록이 트리 경로 인 조건 자 (프롤로그)를 작성하려고합니다. 트리는 트리 (Root, LeftTree, RightTree)로 정의됩니다. 제안 사항이 있습니까?목록 목록의 트리 경로
이것은 매우 이례적인 일이다 어쩌면 같이, (나무와 DCGS 좋은 적합있는 모든 노드의 단순 목록 사이의 관계에 대한 예를 요청하는 것이 더 일반적이다) :
tree_list(nil, []).
tree_list(tree(Node,Left,Right), [Lefts,Node,Rights]) :-
tree_list(Left, Lefts),
tree_list(Right, Rights).
예 :
?- tree_list(tree(a,tree(b,nil,tree(d,nil,nil)),tree(c,nil,nil)), Ts).
Ts = [[[], b, [[], d, []]], a, [[], c, []]].
이 표현은 (불필요한 낭비 (? 당신이 비어 있지 않은 모든 목록이 3 개 요소를 가질 것이라는 점을 알고있다, 왜 목록 대신 삼항 용어를 사용하지 않음)과 제 생각에 당신 때문에 이미 첫 번째 장소에 트리 표현이 있음)하지만 누가 그게 좋은지 알 수 있습니다. ..