我有一个内存敏感项目,该项目使用int将顶点的索引存储在图形的密集前任树中。 (您使用例如Bellman Ford生成的内容)。对于一个事实,我知道不会有超过10000个顶点的图形,并且一旦创建,数据类型就是不可变的。
在我看来,替换
是一个坏习惯吗?int predecessors[blah];
与
short predecessors[blah];
如果我的作品要用作图书馆。
答案 0 :(得分:5)
避免过早优化。衡量使用short
而非int
的影响,然后根据该信息进行决策。
如 @HolyBlackCat 所述-考虑使用typedef(或类似类型),以便在发生事件时可以更改基础类型(即,将short
更改为int
)不断变化的需求。
如果您使用的是short
,请添加健全性检查以避免某人,有朝一日在您的库中提供了100.000个顶点,并且没有意识到它无法处理这些问题(直到无声失败变成了非常无声的失败)被昂贵的设备大声撞倒)。
清晰的文档,您最多只能处理 X 个顶点。