我有一个树算法和数据库问题,我想得到答案。
我有几个区域,比如说 20 个。每个区域都有子区域 ~ 20 个。这些父区域分布在地图上。其中一些父区域彼此靠近。
数据库如下所示:[area_id, title, parent_id] - 有些有多个子节点,有一个包含所有区域的根节点。(邻接表模型)
为了在图片中制作这个,我可以这样做:
正如我所说,不同的区域可以彼此靠近(或远离)。我想以某种方式将1 区和 5 区联系在一起,因为我知道它们很近,并且1 区也靠近 4 区。现在,问题来了,假设4 区也靠近 5 区.
它看起来像这样:
这使它成为一个无限循环?因为我希望Area 1靠近Area 4,而且Area 4也靠近Area 1。
我想做一个搜索,在这里你可以选择“搜索附近区域”,所以你选择一个区域然后你可以搜索附近的区域。我可以使用一些技巧,关于如何使用数据库和 php 解决这个问题。
我一直在这个论坛上寻找帮助,但我真的不知道这个问题的“名称”,如果有人能指出我正确的方向或直接在这个线程中帮助我,我会很高兴。
谢谢大家,如果还有什么需要知道的,我会尽快回复。