[pyar] ¿Volvemos a empezar?

Roberto Alsina ralsina en netmanagers.com.ar
Mie Abr 30 21:54:10 ART 2014


On 30/04/14 21:37, Fernando Pelliccioni wrote:
> No, no creo que la sepas :-)
>
>     La complejidad es la que sea que tenga s.__getitem__
>
>
> Tengo que leer todavia el link que me pasaste acerca de s.__getitem__
> Bueno, en realidad me refería a suponer el peor de los casos.
> Suponiendo el peor de los casos, que significa hacer? ( no solo 
> complejidad asintótica, sino, operaciones concretas )
>> s == s[::-1]
>
> La respondo yo.
>
> En el peor de los casos:
> 1.    Para s[::-1]
>                    - Memory allocation para la nueva secuencia, ya que 
> como vimos antes, no podemos asegurar que id(s) == id(s[::-1])
>                  - Cargar la nueva lista con las referencias de la 
> lista original
>
>  2.  Para la comparacion de igualdad ==
>               - Iterar sobre la secuencia, realizando...
>               - N comparaciones
>
> ¿Es necesaria esta complejidad para un algoritmo de palindromos? (no 
> perder de vista que tengo en mente otra cosa)
> ¿Es el optimizer tan inteligente para darse cuenta de esto? ¿seguro? 
> ¿como lo podemos verificar?
>

Quien dice que hay que generar toda la lista invertida?

all(a[-i-1]==a[i]  for i in range(len(a)))

Sin embargo, si alguien me da ese código, en vez de a == a[::-1] es 
obvio que a menos que me dé una excelente razón, está simplemente mal.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140430/972d3216/attachment-0001.html>


More information about the pyar mailing list