Article View: chile.comp.programacion
Article #80Re: Pregunta ordenes de tiempo en PHP
From: Alvaro Herrera
Date: Fri, 09 Sep 2005 13:31
Date: Fri, 09 Sep 2005 13:31
36 lines
2753 bytes
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-mailReferences:
<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))