[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