prefixes ls = zipWith take [1 .. length ls] (repeat ls)
¿Hay alguna manera de hacerlo mejor que esto? Intuitivamente, me parece que uno no puede obtener un algoritmo por debajo de O (n²) en un lenguaje puramente funcional, ya sea porque invertir o agregar se debe aplicar n veces. Aunque no tengo idea de cómo probar esto.¿Cuál es el algoritmo puramente funcional más eficiente para generar todos los prefijos de una lista?
+1 buena idea con scanl –