编码带有基本方向运动的图形?

时间:2019-02-11 11:11:31

标签: c++ data-structures graph graph-theory

学习数据结构,我遇到了图形数据结构,我觉得很适合在代码中表达以下图像:Labyrinth


从本质上讲,我打算创建一个可旅行的地图,每个“位置”都是图结构的一个节点,并且发出的命令[North,East,West,South]允许玩家在每个节点上移动。红色节点表示玩家的起始位置。我的问题在于图形本身,因为:

我不知道如何将基本方向的概念引入例如邻接表,该邻接表仅包含不知道其基本位置的节点,例如,节点[0]可以连接到[0] -> [4]-> [8]-> [3],但是当我发出north命令时,我无法知道[4]是否是我想要的结果。

解决这些问题的一种简单方法是通过以下链接列表:

struct Area {
        int code;
        string title;
        Area *north;
        Area *east;
        Area *south;
        Area *west;
    };
    Area *Lookup;

每个节点都具有手动定义的相邻节点,但是,因为这是针对数据结构类(hashmap / map / vectors不可用),所以我希望通过adjacencylist方法实现它(如果可能的话) )。如果可能,这将如何实施?

邻接矩阵会更好吗?

0 个答案:

没有答案