Почему структура дерева использует массив, а не карту?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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