Me preguntaba si el método 'buscar' en cadenas se implementó con una búsqueda lineal, o si Python hizo algo más sofisticado. La documentación de Python no analiza los detalles de implementación, por lo que http://docs.python.org/library/stdtypes.html no sirve de nada. ¿Podría alguien señalarme el código fuente relevante?¿Cómo se implementa string.find en CPython?
8
A
Respuesta
16
4
usted debería ser capaz de encontrar en Objetos/stringlib/find.h, aunque el código real está en fastsearch.h.
1
Parece que el algoritmo utilizado se origina en Boyer-Moore-Horspool algorithm
Cuestiones relacionadas
- 1. ¿Cómo se implementa ** en Python?
- 2. ¿Qué usar para Python string.find?
- 3. ¿Cómo se implementa HttpSession?
- 4. ¿cómo se implementa sarcmark?
- 5. ¿Cómo se implementa OpenID?
- 6. ¿Cómo se implementa __RTC_CheckEsp?
- 7. ¿Cómo se implementa BigDecimal?
- 8. ¿Cómo se implementa "const"?
- 9. ¿Cómo se implementa set()?
- 10. ¿Cómo se implementa Set.toString()?
- 11. ¿Cómo se implementan los generadores y coroutines en CPython?
- 12. ¿Cómo se implementa std :: tuple?
- 13. PhoneGap y cómo se implementa
- 14. ¿Cómo se implementa malloc() internamente?
- 15. ¿Cómo se implementa Google Calculator?
- 16. cómo se implementa boost multi_index
- 17. ¿Cómo se implementa una clase en C?
- 18. ¿Cómo se implementa Super en Java?
- 19. Cómo se implementa la esteganografía en php
- 20. ¿Cómo se implementa la paginación en PHP?
- 21. ¿Cómo se implementa withFile en Haskell
- 22. ¿Cómo se implementa la autenticación en servicestack.net
- 23. ¿Cómo se implementa una interfaz en IronPython?
- 24. ¿Cómo se implementa end() en contenedores STL?
- 25. PyPy: ¿cómo puede vencer a CPython?
- 26. ¿Cómo se implementa la virtualización de aplicaciones?
- 27. ¿Cómo se implementa realmente la grabadora Wami?
- 28. ¿Cómo se implementa el resaltado de sintaxis?
- 29. ¿Cómo se implementa la referencia internamente?
- 30. ¿Cómo se implementa la propiedad de dependencia?
enlace muerto. alguien podría actualizarlo? – TheTrowser