-
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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- 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
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają