Warum verwendet die Trie-Struktur ein Array, keine Karte?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum verwendet die Trie-Struktur ein Array, keine Karte?

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]?

Top