-
Data: 2016-04-04 22:05:01
Temat: Re: Masowe wyszukiwanie anagramów
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Monday, April 4, 2016 at 9:57:05 PM UTC+2, M.M. wrote:
> On Monday, April 4, 2016 at 6:21:51 PM UTC+2, Borneq wrote:
> > W dniu 04.04.2016 o 17:52, M.M. pisze:
> > > Najlepiej przy pomocy algorytmu genetycznego - żart.
> > >
> > > Ja bym sprobował hashtable i funkcji skrótu odpornej na kolejność znakow.
> > >
> > Fakt, to może być jeszcze szybsze
>
> Tak się wydaje, w praktyce mogą wyjść jakieś schody. Warto spróbować
> jeśli wydajność jest ważna.
>
> Pozdrawiam
Sorry że na raty odpisuję. Słowa są krótkie, czyli mają mało liter. Więc
funkcja hash będzie przyjmowała mało wartości, tym bardziej że ma być
odporna na kolejność liter - to są te (potencjalne) schody.
Nie wiem czy warto zrobić taką funkcję hash:
const static unsigned long long hash_keys[256*256] = { rand , rand , rand , etc };
uint mkHash( const char string[] ) {
unsigned long long hash = 0;
for( int i=0 ; string[i] ; i++ ) {
for( int j=i+1 ; string[j] ; j++ ) {
hash ^= hash_keys[ string[i] + string[j] * 256 ];
}
}
return (uint)( hash % hash_size )
}
Pozdrawiam
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- 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??
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security