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. |