Я ничего не понимаю

Каким образом запихать дерево из этих чисел в 4 Гб?
2) Как вы думаете, человек с образованием программиста (дипломом) должен уметь решить такую задачу или нет?
3) Неужели структура данных, что позволяет это сделать НАСТОЛЬКО сложна, что её не преподают в ВУЗЕ?
update
Уточним. Меня поражает тот факт, что в сознании отдельных программистов откуда-то берётся аксиома "дерево всегда хранит свои связи". Они решительно отвергают возможность построить дерево без хранения связей.
А ведь binary heap представляет собой дерево, и не хранит при этом связей. И в ВУЗах этому учат.
Если человек это изучал - откуда у него берётся вышеупомянутая аксиома?
update 2
http://zabivator.livejournal.com/386787.html