格子Based的地图该如何存储地图数据

好几次面试都问了这个问题。

问:假设在做一个格子游戏,我该如何存储格子上面有哪些物体/人。需要查询快
反问:
  一个物体是否仅属于一个格子?是
  地图是否巨大?否
  是否有不规则物体?否
答:这种情况下一张简简单单的二维数组不就可以了吗?

问:那类似于英雄光环的范围查询如何实现?
答:直接以英雄为中心,遍历-r, r区间的格子就可以了,可能舍弃一些点因为他们在半径之外

问:如何在格子里存储对物体的引用?
反问:没懂啥意思
答:不知道,一个指针不就行了吗?

想和牛爷爷们讨论下这道题面试官到底想问什么?这种情况下个人觉得也没必要上四叉树。因为一个物体只fit一个格子,就算fit多个拿多个格子同时引用也解决了。也不是world partition那种动态加载的。说到底对于二维情况不太理解为什么要有空间数据结构
如何存储对物体的引用更是不解。这是想问啥?
全部评论
我米面试也问这个了,我感觉要简单就二维数组呗,要复杂就建个struct,拿list存数据得了
点赞 回复 分享
发布于 03-23 20:53 江苏
十字链表法吗,可以看看Area of Interest会有些启发,b站有视频。
点赞 回复 分享
发布于 03-24 19:28 广东

相关推荐

评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务