[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