Warum verwendet die Trie-Struktur ein Array, keine Karte?
Posted: 20 Jan 2025, 13:51
Wenn wir „trie“ deklarieren,
Wir verwenden das so, aber dieser Ansatz benötigt jedes Mal viel Speicher, wenn wir Wörter eingeben, also wird ein neuer Versuch erstellt.
Wenn wir einen neuen Versuch machen, müssen wir 26 Leerzeichen fällig machen zu diesem Array hinzufügen.
Warum verwenden wir nicht unordered_map für „next“, sodass wir jedes Mal, wenn wir die Wörter in trie einfügen, nach Bedarf Platz schaffen?
Also benutze ich
und es funktioniert.
Gibt es einen Nachteil für unordered_map gegenüber arr[26]?
Code: Select all
struct trie{
int count;
trie* next[26];
};
Wenn wir einen neuen Versuch machen, müssen wir 26 Leerzeichen fällig machen zu diesem Array hinzufügen.
Warum verwenden wir nicht unordered_map für „next“, sodass wir jedes Mal, wenn wir die Wörter in trie einfügen, nach Bedarf Platz schaffen?
Also benutze ich
Code: Select all
struct trie{
int count;
unordered_map next;
};
Gibt es einen Nachteil für unordered_map gegenüber arr[26]?