gpt4 book ai didi

prolog - Prolog中的树后序遍历

转载 作者:行者123 更新时间:2023-12-05 01:28:16 24 4
gpt4 key购买 nike

树遍历是指有系统地访问树数据结构中的每个节点的过程。 postorder下图中的遍历

Sorted_binary_tree

返回 A, C, E, D, B, H, I, G, F (left, right, root) . PREORDER 的 Prolog 代码遍历是

preorder(tree(X,L,R),Xs) :-
preorder(L,Ls),
preorder(R,Rs),
append([X|Ls],Rs,Xs).

preorder(void,[]).

我想修改上面的代码来实现后序遍历。

最佳答案

伙计们,请在描述列表时考虑使用 DCG,例如:

preorder(void) --> [].
preorder(tree(X, L, R)) -->
[X],
preorder(L),
preorder(R).

用法:
?- phrase(preorder(Tree), List).

通过简单地决定在序列中放置 [X] 的位置,您可以获得不同的顺序。

关于prolog - Prolog中的树后序遍历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10504656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com