считай это как массив, динамически расширяющийся.
в программе он же не расширяется. В таком случае лучше std::array
Когда нужен поиск, лучше, конечно, применять деревья (бинарное, например), т.к. там используется принцип разделяй и властвуй и сложность поиска не O(n), а O(log_2 n). В такой тривиальной задачи нет смысла его использовать, просто имей ввиду, что чем больше начальных данных у дерева — тем быстрее поиск. Кайф дерева, что с его можно инициализировать по определённому компаратору , а также сам поиск задать через лямбду по своему желанию Последовательные структуры данных (std::vector и std::array) обычно используется для быстрого добавления и хранения чего-то. Чаще всего это и нужно в программах, поэтому его видно чаще.
Разрешите докопаться: если нужен поиск, нужно применять хеш-таблицы. Деревья имеют иную сложность, но дают гарантию сортировки, которая нужна значительно реже
Тут согласен, да. Ну учитывая, что он новичок, я решил не форсить ему хэш-таблицу, пусть пока с деревьями поразбирается х)
Обсуждают сегодня