[LUGOS-PROG] stevilski prostor
Andrej (Andy) Brodnik
andrej.brodnik at imfm.uni-lj.si
Mon Mar 22 21:55:51 CET 2004
Namig: problem se imenuje problem intervalnih mnozic. Vsak blok je
interval, ki je predstavljen z najmanjsim stevilom intervala. Potem s
preprosto bisekcijo poiscete prvo manjse stevilo od iskanega. Ce je
stvar dinamicna, vzemite poljubno drevesno strukturo (AVL, rdece-crno,
...).
MMG, to je isti problem, kot ga srecamo pri odlocanju kam posredovati
paket v usmerjevalniku ali pri klasifikaciji paketov pri pozarnem
zidu.
LPA
PS: Se boljsa moznost je uporaba tako imenovanih plastovitih dreves
(eno od predvanja na www.pef.upr.si/MARA/3/PSA), ki jih je ,,izumil``
van Emde Boas nekje v sredi sedemdesetih.
On Mon, Mar 22, 2004 at 08:17:01PM +0100, Andraz Tori wrote:
> a to imas res tako veliko stevilo vnosov, da ne mores hraniti v
> pomnilniku?
>
> ker dalec najbolj logicna organizacijska struktura je seveda drevo.
>
> ce ne mores imeti drevesa potem pa preprosto spane .. zacetne in koncne
> stevilke blokov. indexirat jih je treba le po enem parametru saj se
> bloki ne prekrivajo. itak pa pri indexaciji podatkovna baza namesto tebe
> interno uporablja drevo...
>
> dodeljene tako dobis direktno s preprostim select stavkom, nedodeljene
> pa tako da namesto vnesenih spanov jemljes vmesne spane (torej med
> zadnjim prejsnjega bloka in prvim novega bloka). v bistvu tezko vidim
> kak problem
>
> vse kar bos se rabil je da bo verjetno precej ucinkovito ce bos imel
> tabele locene glede na kolicino stevk... v vsakem primeru pa je stevilke
> bolje hraniti v int obliki kot v ascii... v nacelu velja, da vec
> meta-informacij ko ima baza, bolje se obnasa...
>
> razen ce imas se kak drug problem, ki ga nisi specificiral v vprasanju,
> bi moralo to biti vec kot dovolj ...
>
> Na 1079982149, 2004-03-22 ob 20:02, je Jernej Vodopivec napisal(a):
> > Zivjo!
> > Zadeva ni neposredno povezana z linuxom, ampak ker ste polni dobrih idej, me
> > zanima, kako bi se lotili tega problema: imamo stevilski prostor, v vecini
> > sestavljen iz stevilk z devetimi ciframi razlicnih tipov (negeografske 080,
> > negeografske 041, geografske 01...). Razlicna podjetja si te cifre razdelijo med
> > sabo (po cifro ali pa blok z desetimi/tristotimi/se kako drugace ... ciframi).
> > Poljuben del cifer, ki so si jih vzela, lahko tudi kasneje vrnejo.
> > Problema oz. vprasanji tukaj sta sledeci:
> > - Kako bi to najbolj primerno hranil v relacijsko bazo, da bi pri iskanju
> > dolocenega bloka ali stevilke imel najmanj tezav (moja ideja v grobem je, d=
> > a bi imel dve tabeli - v eno bi vpisal stevilko in tip stevilke, v drugi pa bi
> > imel tip stevilke in predpono (npr. 080, 090, 0888...). S stevilko ne bi imel
> > problema, blok pa bi oznacil kot 08031xxxx). Bi bilo pametno hraniti cifre/bloke
> > v VARCHAR polju ali kako drugace?
> > - kako bi najlazje iskal po taki bazi (npr. dodeljene bloke/stevilke med
> > 0512xxxxx in 05200xxxx ali pa se nedodoljene med 041123xxx in 041234xxx)?
> > Ce ima kdo kaksen namig, predlog, pripombo ali kaj drugega, je zelo dobrodosel..
More information about the lugos-prog
mailing list