-
Data: 2018-12-14 09:28:11
Temat: Re: Bisekcja...
Od: DMR <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> ...a po co od razu drzewa? Dlaczego nie jakies hashowanie ?
No, ktoś ma tu browara! :-)
Postudiowałem, przespałem się z tematem i jest!
Pierwszym krokiem do uniknięcia kolizji jest zadbanie o unikalność klucza każdego
elementu.
Jako że identyfikatorem ma być łańcuch 15 z dozwolonych 63 znaków, to najłatwiej
potraktować go jako zapis liczby w systemie "63-kowym" i przeliczyć na dziesiętny.
Daje to zakres 63^15 = ~10^27... Trochę dużo, nawet, jak na 64 bity. :-)
Żeby się wstrzelić w zakres 32 bitowego int-a można zrobić co najwyżej 63^5...
No i się wszystko zgadza - można przecież przeliczać piątkami. :-)
Da to co najwyżej jedną bardzo teoretyczną kolizje z samego identyfikatora (dobrze
kombinuję?)
A dalej, to już klasyka gatunku - indeks leci jako modulo z rozmiaru tablicy
haszującej (daję ~2x większą, przy kilkudziesięciu tysiącach elementów nie wylazło mi
nigdy więcej niż 5 powtórzeń na ~10% kluczy), do szybkiego odcedzenia w kolizji
używam identyfikatora.
No i gra! :-)
Dzięki!
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- 2024-12-23 Przedłużacz USB-C działa w połowie
- 2024-12-24 Cicha noc...
- 2024-12-24 Gdańsk => Software .Net Developer <=
- 2024-12-23 Opole => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i Ka
- 2024-12-23 Łódź => Architekt rozwiązań (doświadczenie w obszarze Java, AWS)
- 2024-12-23 Kraków => System Architect (Java background) <=
- 2024-12-23 Poseł Ryszard Petru w Biedronce
- 2024-12-23 Riga => Specjalista ds. public relations <=
- 2024-12-23 Łódź => Specjalista ds. Sprzedaży <=
- 2024-12-23 Kraków => International Freight Forwarder <=
- 2024-12-23 Co nalezy do Cinkciarza, a co do Conotoxia ?
- 2024-12-23 Poznań => Key Account Manager <=
- 2024-12-23 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=
- 2024-12-23 Rzeszów => Spedytor Międzynarodowy <=