【发布时间】:2015-05-06 03:34:37
【问题描述】:
我一直在对 lisp 中的树进行大量研究,并且正在尝试解决 uva 问题(11695 飞行计划 (http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2742) 供参考)。我目前已经解决了大部分问题,但是在将输入更改为树的第一个障碍时我有点难过。 输入示例的格式为
1 2
2 3
3 4
我在互联网上遇到了很多关于如何建立一棵树的信息,但大多数情况下,数字都是为了让自己在树上而不是这种格式。我也研究过图论,但这让我无处可去。
我在这方面取得的唯一进展是,我可能会将每个“路径”放入自己的列表中,并且每个列表的第一个是父级,每个列表的第二个的基本观察将成为他们的孩子(也可能成为另一个孩子的父母)
如果有人对我如何处理这个问题有任何建议,那就太好了。我还没有找到任何可以在线申请的内容,所以我想我会寻找其他人的想法。
我对 Lisp 比较陌生,但我对它的工作原理有相当好的了解。
【问题讨论】:
-
由于您在技术上没有提出任何问题(或者至少我没有提出任何问题),我想您正在寻找正确的问题。对于“我用什么数据结构来表示飞行图?”这个问题,我会推荐一个排序数组对和它们交换的双精度数,因为你只写一次图形,然后读/搜索很多。以城市为键的哈希表也会有所帮助。
标签: tree lisp common-lisp