[pyar] ¿Volvemos a empezar?
Fernando Pelliccioni
fpelliccioni en gmail.com
Mie Abr 30 22:43:04 ART 2014
2014-04-30 21:54 GMT-03:00 Roberto Alsina <ralsina en netmanagers.com.ar>:
> 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.
>
>
Por ahora, el ejercicio es un caso simple, que quiero extenderlo a algo mas
complicado, donde si vamos a necesitar optimizar. Prometo que es un caso
mucho mas interesante!
Pero que opinas si, como usuario del algoritmo, en vez de escribir
a == a[::-1]
escribis
is_palindrome(a)
?
Como usuario no te importa como implementado, (si con "la lista invertida"
o usando "Slice") solo te importa como se usa y la complejidad del mismo.
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140430/ca5fe94a/attachment-0001.html>
More information about the pyar
mailing list