logo

kartta vs unordered_map C++:ssa

Edellytys: std::kartta , std::järjestämätön_kartta
Mitä tulee tehokkuuteen, karttojen ja järjestämättömien karttojen välillä on valtava ero.
Meidän on tunnettava molempien sisäinen toiminta päättääksemme kumpaa käytetään.

Ero:



 | 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) ->Keskimääräinen | | O(n) -> Huonoin tapauksen lisäysaika | log(n) + Tasapainottaminen | Sama kuin haussa Poistoaika | log(n) + Tasapainottaminen | Sama kuin haussa>

Käytä std::map milloin

  • Tarvitset tilattuja tietoja.
  • Sinun pitäisi tulostaa / käyttää tietoja (lajiteltuna).
  • Tarvitset elementtien edeltäjän/seuraajan.
  • Katso lisää tapauksia BST:n eduista Hash Tabl e:hen verrattuna.

CPP

Androidin kehittäjätilan sammuttaminen








// CPP program to demonstrate use of std::map> #include> int> main()> {> >// Ordered map> >std::map<>int>,>int>>tilata;> >// 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 << ' : ' ' '; } }>

>

merkkijonojen joukko c

>

Lähtö

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

Käytä std::unordered_map when

java merkkijonomuoto pitkä
  • Joitakin tietoja on laskettava (esimerkki - merkkijonot), eikä tilausta tarvita.
  • Tarvitset yhden elementin pääsyn eli ei läpikulkua.

CPP




// CPP program to demonstrate use of> // std::unordered_map> #include> int> main()> {> >// Unordered map> >std::unordered_map<>int>,>int>>tilata;> >// 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 << ' : ' ' '; } }>

Vaihda menetelmä java

>

>

Lähtö

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

Katsotaanpa erot taulukkomuodossa -:

kartta unordered_map
1. kartta määritellään #include otsikkotiedostossa unordered_map on määritetty #include otsikkotiedostossa
2. Sen toteuttaa puna-musta puu . Se toteutetaan hash-taulukon avulla.
3. Se on hidasta. Se on nopea.
4. Aika monimutkaisuus operaatioille on O(log N) Toiminnan aika monimutkaisuus on O(1)
5. karttaa käytetään elementtien tallentamiseen avain-arvopareina avaimen mukaan lajiteltuina. unordered_map:a käytetään elementtien tallentamiseen avain-arvopareina lajittelemattomassa järjestyksessä.