За 10 лет, которые я программировал, я могу подсчитать количество структур данных, которые я использовал, с одной стороны: массивы, связанные списки (я собираю стеки и очереди с этим) и словари. Это не удивительно, учитывая, что почти все приложения, которые я написал, попадают в категорию форм-над-данными/CRUD.
Мне никогда не приходилось использовать красно-черное дерево, список пропуска, двойную очередь, круговой список, приоритетную очередь, кучи, графики или любую из десятков экзотических структур данных, которые были исследованы в последние 50 лет. Я чувствую, что упускаю.
Это открытый вопрос, но где эти "экзотические" структуры данных используются на практике? У кого-нибудь есть реальный опыт использования этих структур данных для решения конкретной проблемы?