Google neden açık kaynaklı kitaplığın iki uygulaması vardır: yoğun bir karma ve seyrek bir?Seyrek hash tablosunun arkasındaki ana uygulama fikri nedir?
17
A
cevap
16
Yoğun hashtable olağan ders kitabı karma uygulamanızdır.
Seyrek hashtable yalnızca bir dizi dizide bölünmüş, gerçekten ayarlanmış öğeleri saklar. seyrek tablolar uygulanmasında comments alıntı için: her unsur yükü doğurur ki
// To store the sparse array, we store a bitmap B, where B[i] = 1 iff
// bucket i is non-empty. Then to look up bucket i we really look up
// array[# of 1s before i in B]. This is constant time for fixed M.
:
// The idea is that a table with (logically) t buckets is divided
// into t/M *groups* of M buckets each. (M is a constant set in
// GROUP_SIZE for efficiency.) Each group is stored sparsely.
// Thus, inserting into the table causes some array to grow, which is
// slow but still constant time. Lookup involves doing a
// logical-position-to-sparse-position lookup, which is also slow but
// constant time. The larger M is, the slower these operations are
// but the less overhead (slightly).
dizi elemanları ayarlanır olan uygulamaları öğrenmek için seyrek tablo bir bit eşlem içerir sadece 1 bit (sınırda).
3
sparsehash, anahtarların değerlere eşleştirilmesinin (anahtar başına 1-2 bit) bellek açısından verimli bir yoludur. Bloom filtreleri size anahtar başına daha az sayıda bit verebilir, ancak dışardan/muhtemelen içeriden başka bir bilgi değerinden biraz daha az olan tuşlara değerler eklemezler.
İlgili konular
- 1. str_rot13'ü kullanma fikri nedir
- 2. Renk Tekerleğinin arkasındaki matematik nedir
- 3. CSS filtrelerinin arkasındaki matematik nedir?
- 4. Opencl'de ana bilgisayar nedir?
- 5. uWSGI ana modu nedir?
- 6. 'instanceof function() {}' kullanımının arkasındaki sebep nedir?
- 7. Hadoop MapReduce ile Proje Fikri
- 8. seyrek matrisin
- 9. Seyrek nokta çarpımı SQL
- 10. ObjectSpace.count_objects'deki her bir hash değerinin anlamı nedir?
- 11. Webpack [hash] ve [chunkhash] 'un amacı nedir?
- 12. Hash içinde birincil ve ikincil kümeleme nedir?
- 13. PHP'de, hash ve mhash arasındaki fark nedir?
- 14. Bu Hash benzeri/Ağaç benzeri Yapı Nedir?
- 15. Dizeler için Scala hash işlevi nedir?
- 16. django rest framework serializer'da, ana tablo ile birlikte ana anahtar tablosunun verilerini nasıl döndürebilirim?
- 17. Ana sayfa işlevlerini uygulama. PHP
- 18. Hash ::
- 19. Tek bir SQL Server tablosunun depolayabileceği maksimum satır sayısı nedir?
- 20. Seyrek bir matrisin satırından seyrek bir köşegen matris oluşturma
- 21. Skype'ın anit sarsıntı video kaydının arkasındaki teknoloji nedir?
- 22. Datagridtemplatecolumn için arkasındaki kod nedir ve nasıl kullanılır?
- 23. nedir gradle android projelerde temiz görev arkasındaki fikir
- 24. Hesaplayın Seyrek Matris
- 25. R: seyrek matris dönüşümü
- 26. python'da seyrek matris svd
- 27. Seyrek Matrisi Python'dan R
- 28. Seyrek bir matrisi
- 29. Mongodb benzersiz seyrek dizin
- 30. Seyrek dizi sıkıştırma
Sanırım yazıdaki soruyu yanlış anladım. Hashtables + yoğun hashtables == tüm hashtables seyrek olmaz mıydı? Ve eğer öyleyse, o zaman neden kütüphane "sparsehash" denir? – cHao
BTW: [Google Code dokümanları] (http://google-sparsehash.googlecode.com/svn/trunk/doc/implementation.html). – cHao