hvilken type lyst/map bør jeg bruge

Tags:    c++

Hej
Jeg har en liste over ca. 1300 objekter der kommer i alfabetisk rækkefølge, men skal kunne findes tilfældigt og hurtigt.

Nu er jeg så lige blevet introduceret for big O, men har ikke så meget styr på det endnu.

Så mit spørgsmål lyder: til denne type listing, hvad kan bedst svare sig (hashmap, binary tree, vector ...)?
Gerne et generelt svar :)

Jeg ved ikke om det her spørgsmål er helt i skoven, om det er helt standard hvad man bør bruge i forskellige situationer. Men som sagt big O er nyt for mig, og jeg har egentlig bare brugt vector eller arrays før i tiden (i java).

Mvh
Carsten



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
Det lyder til at du bør bruge en std::map.

Det kommer lidt an på hvad du vil bruge som nøgle/key, hvis det er en string, så er det en std::map.

Hvis elementerne blot skal have et tal som index og du ikke ændrer på listen ret ofte er en std::vector (eller bare et array) hurtigere.

At vælge den rigtige container er oftest et spørgsmål om afvejning af flere faktorer, der findes sjældent noget entydigt svar.



Det kommer lidt an på hvad du vil bruge som nøgle/key, hvis det er en string, så er det en std::map.


Hej tak for svaret.
ja, jeg vil bruge en string som key, og et objekt som value.

Mvh
Carsten



t