🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #80

Re: Pregunta ordenes de tiempo en PHP

#80
From: Alvaro Herrera
Date: Fri, 09 Sep 2005 13:31
36 lines
2753 bytes
En chile.comp.misc, Cristian Gutierrez escribio':
> Hoy en la noche, Jos� Miguel Santib��ez dijo:
> > En el cap�tulo anterior (news:dfqn6d$u0h$1@localhost.localdomain), Chano
> > <chano@lj.NOSPAM.cl> dijo: 
> >
> >>   En PHP, si tengo un array,  $variable[$indice] = algo , por ejemplo
> >>   , en donde $indice 
> >> es un valor entero mayor a cero y no consecutivo (9,1,345, 123, 244),
> >> cual es el orden ( O(x) ) de hacer la operacion:
> >> 
> >> if ( $variable[$valor] )

> [...]

> Segun [1] (llamado desde [2]), pareciera ser una tabla de hash de las
> tipicas, O(1) en general (no me atrevo a decir "en promedio" :-S) y O(n)
> en el peor caso. Las macros Z_STRVAL_PP y Z_LVAL_PP deberian dar la
> pista de como se calcula el hash (ulong de C) de un valor (string o long
> de PHP).

Pero ojo.  Esa tabla de hash puede usar llaves de texto, asignacion
dinamica de memoria, y probablemente aunque sea O(1) las constantes
deben ser mas o menos grandes, en comparacion con algun algoritmo O(n)
mas simple que tenga constantes mucho menores.  (Ademas, cuando n=5, los
valores son harto chicos generalmente ... )

(Sobre todo si, como decia un mensaje anterior, es mas lento chequear
la existencia de una llave que simplemente accederla ... eso apuntaria a
que la estructura de datos donde se almacena el hash es mas bien
compleja!)

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Saca el libro que tu religi�n considere como el indicado para encontrar la
oraci�n que traiga paz a tu alma. Luego rebootea el computador
y ve si funciona" (Carlos Ducl�s)
Technical Details
Message-ID: <dfs2sa$9d7$3@helcaraxe.dcc.uchile.cl>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!novia!newsfeed.yul.equant.net!news-santiago!helcaraxe.dcc.uchile.cl!not-for-mail
References: <dfqn6d$u0h$1@localhost.localdomain> <Xns96CBE9C9F77EFjmsnews@200.27.221.71> <87fyse99mq.fsf@bender.guti.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,ba4785603e789050
X-Google-Thread: 107d6b,ba4785603e789050
X-Google-Attributes: gid1593cb,gid107d6b,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!border1.nntp.dca.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!novia!newsfeed.yul.equant.net!news-santiago!helcaraxe.dcc.uchile.cl!not-for-mail
From: Alvaro Herrera <alvherre@dcc.uchile.cl>
Newsgroups: chile.comp.programacion,chile.comp.misc
Subject: Re: Pregunta ordenes de tiempo en PHP
Date: Fri, 9 Sep 2005 13:31:54 +0000 (UTC)
Organization: DCC - Universidad de Chile
Lines: 36
Message-ID: <dfs2sa$9d7$3@helcaraxe.dcc.uchile.cl>
References: <dfqn6d$u0h$1@localhost.localdomain> <Xns96CBE9C9F77EFjmsnews@200.27.221.71> <87fyse99mq.fsf@bender.guti.cl>
NNTP-Posting-Host: anakena.dcc.uchile.cl
X-Trace: helcaraxe.dcc.uchile.cl 1126272714 9639 192.80.24.6 (9 Sep 2005 13:31:54 GMT)
X-Complaints-To: newsmaster@dcc.uchile.cl
NNTP-Posting-Date: Fri, 9 Sep 2005 13:31:54 +0000 (UTC)
User-Agent: tin/1.6.2-20030910 ("Pabbay") (UNIX) (Linux/2.6.10-gentoo-r6 (i686))