-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!fu-berlin.de!postnews.google.com!glegro
upsg2000goo.googlegroups.com!not-for-mail
From: Wojciech Muła <w...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Implementacja
Date: Sat, 17 Dec 2011 06:13:07 -0800 (PST)
Organization: http://groups.google.com
Lines: 51
Message-ID: <534379.16.1324131187884.JavaMail.geo-discussion-forums@yqkb10>
References: <jcg8vv$c4d$1@inews.gazeta.pl>
<22312036.922.1324074018451.JavaMail.geo-discussion-forums@yqir6>
<jch92q$q7s$1@inews.gazeta.pl>
<15523109.108.1324117140075.JavaMail.geo-discussion-forums@yqmw40>
<jci3b5$7u5$1@inews.gazeta.pl>
Reply-To: p...@g...com
NNTP-Posting-Host: 188.47.235.48
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1324131188 27310 127.0.0.1 (17 Dec 2011 14:13:08 GMT)
X-Complaints-To: g...@g...com
NNTP-Posting-Date: Sat, 17 Dec 2011 14:13:08 +0000 (UTC)
In-Reply-To: <jci3b5$7u5$1@inews.gazeta.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=188.47.235.48;
posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn
User-Agent: G2/1.0
X-Google-Web-Client: true
Xref: news-archive.icm.edu.pl pl.comp.programming:194195
[ ukryj 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
- 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
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=