У меня есть чувствительный к памяти проект, который использует целочисленные значения для хранения индекса вершины в плотном дереве предшественников графа.(то, что вы генерируете, используя, например, Bellman Ford).Я точно знаю, что у меня не будет графиков с более чем 10000 вершинами, и тип данных неизменен после его создания.
Так что в моем случае плохая практика - заменять
int predecessors[blah];
на
short predecessors[blah];
, если моя работа будет использоваться в качестве библиотеки.