logo

map proti unordered_map v C++

Predpogoj: std::map , std::unordered_map
Kar zadeva učinkovitost, obstaja velika razlika med zemljevidi in neurejenimi zemljevidi.
Poznati moramo notranje delovanje obeh, da se odločimo, katerega bomo uporabili.

Razlika :



 | map | unordered_map --------------------------------------------------------- Ordering | increasing order | no ordering | of keys(by default) | Implementation | Self balancing BST | Hash Table | like Red-Black Tree | search time | log(n) | O(1) ->Povprečje | | O(n) -> Čas vstavljanja v najslabšem primeru | log(n) + ponovno uravnoteženje | Enako kot iskanje Čas brisanja | log(n) + ponovno uravnoteženje | Enako kot iskanje>

Uporabite std::map, ko

  • Potrebujete urejene podatke.
  • Morali bi natisniti/dostopati do podatkov (v razvrščenem vrstnem redu).
  • Potrebujete predhodnika/naslednika elementov.
  • Oglejte si prednosti BST pred Hash Tabl e za več primerov.

CPP

kako odpreti datoteko v Javi








// CPP program to demonstrate use of std::map> #include> int> main()> {> >// Ordered map> >std::map<>int>,>int>>naročilo;> >// Mapping values to keys> >order[5] = 10;> >order[3] = 500;> >order[20] = 100;> >order[1] = 1;> >// Iterating the map and> >// printing ordered values> >for> (>auto> i = order.begin(); i> >!= order.end(); i++) {> >std::cout << ' : ' ' '; } }>

>

numpy mean

>

Izhod

1 : 1 3 : 500 5 : 10 20 : 100>

Uporabite std::unordered_map, ko

pridobite trenutni datum v javi
  • Nekatere podatke morate šteti (primer – nizi) in razvrščanje ni potrebno.
  • Potrebujete dostop do enega elementa, tj. brez prečkanja.

CPP




// CPP program to demonstrate use of> // std::unordered_map> #include> int> main()> {> >// Unordered map> >std::unordered_map<>int>,>int>>naročilo;> >// Mapping values to keys> >order[5] = 10;> >order[3] = 500;> >order[20] = 100;> >order[1] = 1;> >// Iterating the map and> >// printing unordered values> >for> (>auto> i = order.begin();> >i != order.end(); i++)> >{> >std::cout << ' : ' ' '; } }>

dekodiraj base64 javascript

>

>

Izhod

1 : 1 20 : 100 3 : 500 5 : 10>

Oglejmo si razlike v obliki tabele -:

zemljevid neurejen_zemljevid
1. zemljevid je definiran v datoteki glave #include unordered_map je definiran v datoteki glave #include
2. Izvaja ga rdeče-črno drevo . Izvaja se s pomočjo zgoščene tabele.
3. Počasen je. Hitro je.
4. Časovna zapletenost za operacije je O(log N) Časovna zahtevnost operacij je O(1)
5. mapa se uporablja za shranjevanje elementov kot parov ključev, vrednosti v vrstnem redu, razvrščenih po ključu. unordered_map se uporablja za shranjevanje elementov kot parov ključ, vrednost v nerazvrščenem vrstnem redu.