by Guest » 20 Jan 2025, 13:51
Wenn wir „trie“ deklarieren,
Code: Select all
struct trie{
int count;
trie* next[26];
};
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
Code: Select all
struct trie{
int count;
unordered_map next;
};
und es funktioniert.
Gibt es einen Nachteil für unordered_map gegenüber arr[26]?
Wenn wir „trie“ deklarieren,
[code]struct trie{
int count;
trie* next[26];
};
[/code]
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
[code]struct trie{
int count;
unordered_map next;
};
[/code]
und es funktioniert.
Gibt es einen Nachteil für unordered_map gegenüber arr[26]?