Я понимаю структуру бинарных деревьев и как их пройти. Тем не менее, я изо всех сил пытаюсь понять их фактическое использование, цели в программах и программировании. Когда я думаю о «реальных» примерах иерархических данных, они почти наверняка имеют более двух детей. Например, в родословной у матери часто может быть более двух детей.
Действительно ли «двоичные деревья» полезны только для хранения линейно связанных данных из-за более быстрого времени обработки массивов и списков? Или же они служат определенной цели для хранения иерархических данных? Если да, то какие есть примеры применения бинарных деревьев? Какие данные таковы, что узел имеет не более 2 дочерних элементов?