Rumah > Java > javaTutorial > teks badan

Faktor Beban dan Pencampuran Semula

王林
Lepaskan: 2024-07-28 07:12:52
asal
757 orang telah melayarinya

Load Factor and Rehashing

Faktor beban mengukur seberapa penuh jadual cincang. Jika faktor muatan melebihi, tingkatkan saiz jadual cincang dan muat semula masukan ke dalam jadual cincang yang lebih besar baharu. Ini dipanggil rehashing. Faktor beban l (lambda) mengukur seberapa penuh jadual cincang. Ia ialah nisbah bilangan
elemen kepada saiz jadual cincang, iaitu, l = n / N, dengan n menandakan bilangan elemen dan N bilangan lokasi dalam jadual cincang.

Perhatikan bahawa l ialah sifar jika jadual cincang kosong. Untuk skema pengalamatan terbuka, l adalah antara 0 dan 1; l ialah 1 jika jadual cincang penuh. Untuk skim rantaian berasingan, l boleh menjadi sebarang nilai.

Apabila l meningkat, kebarangkalian perlanggaran meningkat. Kajian menunjukkan bahawa anda harus mengekalkan faktor beban di bawah 0.5 untuk skema pengalamatan terbuka dan di bawah 0.9 untuk skema rantaian berasingan.

Mengekalkan faktor beban di bawah ambang tertentu adalah penting untuk prestasi pencincangan. Dalam pelaksanaan kelas java.util.HashMap dalam Java API, ambang 0.75 digunakan. Apabila faktor muatan melebihi ambang, anda perlu meningkatkan saiz jadual cincang dan cincang semula semua entri dalam peta ke dalam jadual cincang baharu yang lebih besar. Perhatikan bahawa anda perlu menukar fungsi cincang, kerana saiz jadual cincang telah ditukar. Untuk mengurangkan kemungkinan pencincangan semula, kerana ia mahal, anda hendaklah sekurang-kurangnya menggandakan saiz jadual cincang. Walaupun dengan pencincangan semula berkala, pencincangan ialah pelaksanaan yang cekap untuk peta.

Atas ialah kandungan terperinci Faktor Beban dan Pencampuran Semula. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!