I was using a method of storing binary trees via arrays since basically forever (parent(x) = x / 2, left(x) = x * 2, right(x) = x * 2 + 1).
But just recently I learned it's called an ahnentafel https://en.wikipedia.org/wiki/Ahnentafel and it's been originally used in genealogy.