【发布时间】:2010-07-06 12:15:36
【问题描述】:
我需要在用 C 语言编写的游戏服务器中存储游戏地图的图表。
该图有大约 200 个节点和 3 种可以连接两个节点的边(这三种也可以重叠:例如,一个节点可以由两种不同类型的 2 条边连接)。一个节点的最大度数大概是5-6个节点。
我想要的是让这个静态结构以一种有效的方式实现,让我可以做一些简单的操作,比如
- n1 是否连接到 n2? (在肯定响应的情况下具有各种边缘)
- n1 连接到什么? (具有各种边缘或特定边缘)
但在多线程环境中,因为会有很多游戏实例依赖于同一个静态图。
由于图表无法修改且结构众所周知,我确信有一些技巧可以以一种很酷的方式实现它,以尽可能使用最少的资源。
我现在想避免使用 STL 或 Boost.. 你有任何关于适合的数据结构的线索吗?
(这不是一个过早的优化,事实是它会在 vps 上运行,而且我没有很多内存和 cpu 能力,所以我需要保持紧张)
编辑:只是因为我忘记了(感谢让我意识到)图是无向所以每条边都是对称的..
提前致谢
【问题讨论】:
标签: c data-structures graph