格子Based的地图该如何存储地图数据
好几次面试都问了这个问题。
问:假设在做一个格子游戏,我该如何存储格子上面有哪些物体/人。需要查询快
反问:
一个物体是否仅属于一个格子?是
地图是否巨大?否
是否有不规则物体?否
答:这种情况下一张简简单单的二维数组不就可以了吗?
问:那类似于英雄光环的范围查询如何实现?
答:直接以英雄为中心,遍历-r, r区间的格子就可以了,可能舍弃一些点因为他们在半径之外
问:如何在格子里存储对物体的引用?
反问:没懂啥意思
答:不知道,一个指针不就行了吗?
想和牛爷爷们讨论下这道题面试官到底想问什么?这种情况下个人觉得也没必要上四叉树。因为一个物体只fit一个格子,就算fit多个拿多个格子同时引用也解决了。也不是world partition那种动态加载的。说到底对于二维情况不太理解为什么要有空间数据结构
如何存储对物体的引用更是不解。这是想问啥?
问:假设在做一个格子游戏,我该如何存储格子上面有哪些物体/人。需要查询快
反问:
一个物体是否仅属于一个格子?是
地图是否巨大?否
是否有不规则物体?否
答:这种情况下一张简简单单的二维数组不就可以了吗?
问:那类似于英雄光环的范围查询如何实现?
答:直接以英雄为中心,遍历-r, r区间的格子就可以了,可能舍弃一些点因为他们在半径之外
问:如何在格子里存储对物体的引用?
反问:没懂啥意思
答:不知道,一个指针不就行了吗?
想和牛爷爷们讨论下这道题面试官到底想问什么?这种情况下个人觉得也没必要上四叉树。因为一个物体只fit一个格子,就算fit多个拿多个格子同时引用也解决了。也不是world partition那种动态加载的。说到底对于二维情况不太理解为什么要有空间数据结构
如何存储对物体的引用更是不解。这是想问啥?
全部评论
我米面试也问这个了,我感觉要简单就二维数组呗,要复杂就建个struct,拿list存数据得了
十字链表法吗,可以看看Area of Interest会有些启发,b站有视频。
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-03 14:29
中国地质大学(武汉) C++ 点赞 评论 收藏
分享
点赞 评论 收藏
分享