Olemis Lang (Simelix) escribió:
> Si no es O(1) entonces sospecho que en
>
> {{{
> #!python
>
> ultimo = -1
>  for v in subconjunto:
>      ultimo = conjunto.index(v, ultimo+1)
>      yield ultimo
> }}}
>
> hay un ciclo `for` explícito más un ciclo implícito `index`


No lo sospeches: tiene que haber un bucle para encontrar el índice, pero
en cuanto encuentras el primer índice con ese valor, te sales del bucle.
¿Cuántas iteraciones haces del bucle en total? Bueno, puede que para
algún caso particular hagan falta muchas iteraciones, pero la suma de
todas las iteraciones no puede superar N: La primera iteración del bucle
"for v in subconjunto", recorres desde 0 hasta indice[0], luego desde
indice[1] hasta indice[2],... si sumas todas esas cantidades tienes:

(indice[0] - 0) + (indice[1]-indice[0]) + ... + (indice[M-1] -
indice[M-2]) = indice[M-1] < N
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a