Это производный вопрос, но я спрашиваю о структурах данных, с которыми вы, по крайней мере, должны быть знакомы по их полезности. Однако эти структуры слишком сложно реализовать без некоторого опыта.
Я бы сказал, что хорошей границей между ними является куча - вы должны иметь возможность кодировать кучу, но это займет у вас день. Не подходит для этого будет BST и т. Д. Редактировать: я вижу точку, что это зависит от того, что вы делаете. Я думаю, что было бы замечательно иметь список с фразой, обобщающей, почему вы его используете!
Вот список для начала:
- B + деревья: хорошая общая структура индексации по одному ключу
- K-d дерево: пространственные данные
- Красно-черное дерево: самобалансирующееся BST; также AVL или Splay Tree
- Пропустить список: хорошая гибридная структура для произвольного или (псевдо) последовательного доступа
- Trie: поиск строки по линейному времени