-
Data: 2011-12-17 14:13:07
Temat: Re: Implementacja
Od: Wojciech Muła <w...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Sat, 17 Dec 2011 12:52:53 +0000 (UTC) " M.M."
<m...@g...pl> wrote:
> Tak, zbior kluczy jest ograniczony.
>
> W niektorych tablicach jest ograniczony np. do trzech wartosci
> {0,1,2} i wtedy implementacja jest banalna - klucz jest od razu
> indeksem.
>
> Najczesciej jest to np. 30 wartosci z przedzialu <-1000,+1000>.
>
> Rzadko jest to 1000 wartosci z przedzialu <-15000,+15000>
>
> Chyba hash-table bedzie najszybsza, cos w ten desen:
> struct Tablica {
> int minimum;
> typ val_mini;
> typ val_max;
> int size;
> Para pary[size+padding]; // sory za skladnie
> };
> Find( const Tablica &t , int klucz ) {
> klucz = ( (klucz) + (klucz>>1) + (klucz>2) ) % t.size; // jakas
> lepsza funkcja if( t.pary[klucz].klucz == klucz ) return
> t.pary[klucz].wartosc; if( t.minimum > klucz ) return t.val_mini;
> return t.val_max;
> }
To masz mało danych. Prościej zapisać ciągłą tablice o rozmiarze
klucz_max - klucz_min + 1, zapisać wartości dla klucz_min...max
i uzupełnić wartości niewystępujące w oryginalnej tablicy.
struct Tablica {
int klucz_min;
int klucz_max;
int val_min;
int val_max;
int tablica[klucz_max - klucz_min + 1];
}
find(...) {
if (klucz < tablica.klucz_min)
return val_min;
else if (klucz > tablica_klucz_max)
return val_max;
else
return tablica[klucz - klucz_min];
}
w.
Następne wpisy z tego wątku
- 17.12.11 15:35 nullpointer
- 17.12.11 19:17 M.M.
- 17.12.11 19:58 M.M.
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
Najnowsze wątki
- 2025-07-27 Dziwne... :)
- 2025-07-27 Czy to jeszcze dziala
- 2025-07-27 Fotele firmy RECARO Aircraft Seating ze Świebodzina dla nowych samolotów LOT
- 2025-07-27 Fotele firmy RECARO Aircraft Seating ze Świebodzina dla nowych samolotów LOT
- 2025-07-26 Elektrownia Siersza w kolejce do zaorania
- 2025-07-26 Odkryte w Polsce złoża ropy i gazu powodują nerwowość u Niemców
- 2025-07-26 Odbiornik ADS-B i wzmacniacze
- 2025-07-26 Next.Gazeta informuje, że od 2029 roku (lub 2030 roku) cyfrowe euro stanie się prawnym środkiem płatniczym w całej UE
- 2025-07-26 Warszawa => Head of Technology <=
- 2025-07-26 Warszawa => Strategic Account Manager <=
- 2025-07-26 Mołdawia. Demokratura zastępuje demokrację.
- 2025-07-26 Prawicowa influencerka Candace Owens zapowiada walkę do końca ,,dla całego świata" [z parą prezydencką Macron]
- 2025-07-26 Next.Gazeta informuje, że od 2029 roku (lub 2030 roku) cyfrowe euro stanie się prawnym środkiem płatniczym w całej UE
- 2025-07-26 Ukraińscy kibice [w trakcie meczu] wzywali do zabijania Serbów
- 2025-07-26 Przejechałbym babę...