poder-leopardo:
Es la complejidad de tiempo de pitón str rebanada O (k) u O (n)?
Las respuestas que estoy leyendo su sugieren O (k) pero no entienden cómo.
Por ejemplo
my_str = "thisismystringfortesting"
sub_str = my_str[3:10]
Entiendo su extracción sólo caracteres (k), pero ¿la operación no tiene que convertir toda la cadena en una lista antes de la división? Mi proceso de pensamiento es que la conversión de toda la cadena en una lista por sí solo los O (n). A menos que sólo una parte de la cadena se convierte en una lista?
Así que por favor alguien puede explicar es cortar la cadena en Python O (k) u O (n)?
¡Muchas gracias!
Jacques Gaudin:
El código relevante es aquí y es O (k) como se puede ver la línea 1628
result_buf = PyBytes_AS_STRING(result);
for (cur = start, i = 0; i < slicelength;cur += step, i++) {
result_buf[i] = source_buf[cur];
}
return result;