Почему структура дерева использует массив, а не карту?C++

Программы на C++. Форум разработчиков
Anonymous
Почему структура дерева использует массив, а не карту?

Сообщение Anonymous »

Если мы объявим trie,

Код: Выделить всё

struct trie{
int count;
trie* next[26];
};
Мы используем именно так, но этот подход требует много памяти каждый раз, когда мы помещаем слова, поэтому создается новая таблица.
Если мы создаем одну новую таблицу, нам необходимо сделать 26 пробелов в этот массив.
Почему мы не используем unordered_map для «следующего», поэтому мы освобождаем место по мере необходимости каждый раз, когда помещаем слова в дерево?
Я использую

Код: Выделить всё

struct trie{
int count;
unordered_map  next;
};
и это работает.
Есть ли у unordered_map какие-либо недостатки по сравнению с arr[26]?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ay-not-map

Вернуться в «C++»