- Sötét fantasy eposszal csábítja potenciális vásárlóit az AMD
- Döbbenetesen sok energia kell az érkező Nova Lake működéséhez?
- Nem akármilyen új GeForce jöhet idén
- Karnyújtásnyira került a százmilliomodik PlayStation 5 leszállítása
- A már megjelent gyorsítóin kapcsolt ki néhány részegységet a Tenstorrent
- Milyen Android TV boxot vegyek?
- SSD kibeszélő
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Épített vízhűtés (nem kompakt) topic
- Döbbenetesen sok energia kell az érkező Nova Lake működéséhez?
- AMD GPU-k jövője - amit tudni vélünk
- Nem akármilyen új GeForce jöhet idén
- Szünetmentes tápegységek (UPS)
- Milyen monitort vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
Új hozzászólás Aktív témák
-
Drizzt
nagyúr
válasz
bambano
#11597
üzenetére
Pedig tok egyszeru a dolog.
Van kiindulaskor valamennyi(n) darab bucket. A bucketek gyakorlatilag tombok. Tehat van egy n elemu tombod. Minden bucketben van egy linkelt lista, vagy valamilyen annak megfelelo struktura.
A hash fuggvenyen nem modositanak semmit, mivel azt Javaban a user-nek szokas megadnia(oke, altalaban a Lombok irja meg helyette, meg lehet hasznalni a default implementaciot is, de az lehet lassu bizonyos esetekben).Kereses kulcs alapjan:
- Meghivod a kulcsra a .hashCode metodust. Igy kapod az x erteket.
- Kiszamolod , hogy x mod n = z alapjan mi a z.
- A z. bucketet kikeresed(ez egy lepesben megvan).
- A z. bucket osszes elemen vegigiteralsz, s megnezed, hogy a kulcs equals-e az eppen iteralas alatt levo elemmel. Ha igen, akkor az ott szinten eltarolt erteket visszaadod.Mikor lesz ez az egesz lassu?
- Ha a hashCode ugy van megirva, hogy minden kulcs ugyanabba a bucketbe keruljon, vagy legalabbis a bucketek egy kis reszebe. Ilyenkor abban a bucketben egy hosszu lista lesz, ami miatt nem o(1) lesz a lookup, hanem kozeliti az o(n)-et.
Ugyanez akkor is igaz lenne, ha a map-ben levo elemek szama joval nagyobb lenne, mint n. Mit csinal ez ellen a Java? Figyel egy toltottsegi szintet. Ha a toltottsegi szinte egy hataron tul van, akkor fogja, s csinal 2*n uj bucketet, s a meglevo elemeket belerakja, a regi n bucketet meg eldobja.Ebbe a pogramozo is bele tud szolni, van olyan konstruktor, amiben meg tudod adni a kezdeti n-t, s a toltottsegi tenyezot. Szoval ha tudod, hogy rohadt sok elemet fogsz belepakolni, akkor rogton csinalhatsz egy HashMap-et jo nagy n ertekkel, s akkor meguszol par rehash-t. Alapbol 16 bucket lesz, amit akkor ujrahashel, ha legalabb 13-ra no a size. Ekkor 32 bucket lesz, majd ha size legalabb 25 lesz, akkor ujrahashel 64 bucketbe, stb.
A LinkedHashMap az egy specibb valtozat, ahol az egesz HashMap-en tul egy LinkedList is fenn van tartva, ami az osszes elemet tartalmazza a hozzaadas sorrendjeben. Akkor kell hasznalni, ha fontos a hozzaadas sorrendjet tudni.
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Milyen Android TV boxot vegyek?
- Samsung Galaxy A54 - türelemjáték
- Milyen okostelefont vegyek?
- SSD kibeszélő
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Épített vízhűtés (nem kompakt) topic
- Döbbenetesen sok energia kell az érkező Nova Lake működéséhez?
- Suzuki topik
- A fociról könnyedén, egy baráti társaságban
- Hobby rádiós topik
- További aktív témák...
- ÚJ Gamer Ryzen 5 5600 / 16GB DDR4 / RTX 3060 12GB / 512GB SSD
- 6 hónap garancia - Samsung Galaxy A32 5G 4GB RAM / 128GB
- Apple Macbook Pro 14" - M4 Pro - 24GB/512GB - 68 Ciklus (MX2E3MG/A) Ezüst - MAGYAR - 2+ év garancia
- Latitude 7420 2-in-1 14" FHD IPS érintő i7-1185G7 32GB 512GB NVMe ujjolv IR kam gar
- SAMSUNG LS49AG950NPXEN 49" NEO Q-LED 5K GAMER 240HZ ! AKCIÓ
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- GYÖNYÖRŰ iPhone 13 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4447, 100% Akkumulátor
- MÉG TOVÁBBI ÁRCSÖKKENTÉS MacBook Pro 17" i7 2.6 GHz 8GB RAM 8 ciklus az akkuban!
- AKCIÓ!! HP Zbook Studio G8 i7-11850H 32GB 512GB Nvidia Quadro T1200 400NIT, 100% sRGB Garis!
- GYÖNYÖRŰ iPhone 14 Plus 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4521, 98% AKKSI
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


