I'm looking at Heap data structure implementation from different sources. What I found is that sometimes it's implemented with the first element of array set to magic (default, unused?) value.
For example here the first element is added in constructor.
And visualization here shows that it's also set to something magic.
However, I've seen many examples without the first element. What's the trick and why sometimes it's there and sometimes it's not?