( Да, можно выделить массив на 1 миллион вершин, и потерять всего где-то 40-80мб оперативной памяти, но это ужасно в 2024 году) .
И в целом реализация довольно запутанна, авторы не любят начинать массивы с 0, и везде пропускают нулевой элемент, используя его как NULL.