Mi chiedevo se il metodo "trova" sulle stringhe fosse implementato con una ricerca lineare o se Python avesse fatto qualcosa di più sofisticato. La documentazione di Python non discute i dettagli di implementazione, quindi http://docs.python.org/library/stdtypes.html non è di aiuto. Qualcuno potrebbe indicarmi il codice sorgente pertinente?Come viene implementato string.find in CPython?
8
A
risposta
16
4
si dovrebbe essere in grado di trovare in oggetti/stringlib/find.h, anche se il codice reale è in fastsearch.h.
1
Sembra che l'algoritmo utilizzato provenga da Boyer-Moore-Horspool algorithm
collegamento senza uscitaProblemi correlati
- 1. Come viene implementato BigDecimal?
- 2. Come viene implementato set()?
- 3. Come viene implementato "const"?
- 4. come viene implementato il sarcmark?
- 5. Come viene implementato maximal-munch?
- 6. Come viene implementato Google Calculator?
- 7. come viene implementato il multi_index
- 8. Come viene implementato setTimeout in node.js
- 9. Come viene implementato l'operatore sizeof in C++?
- 10. Come viene implementato Atan2 in .NET?
- 11. Come viene implementato l'I/O non bloccante?
- 12. Come viene effettivamente implementato Wami Recorder?
- 13. Come viene implementato LLVM <>?
- 14. Arrays.sort (Object [] a) - come viene implementato?
- 15. Come viene implementato GetHashCode() per Int32?
- 16. Come viene implementato l'idioma Spark select-explode?
- 17. Come viene implementato lo Scoping Lexical?
- 18. Come viene implementato "letrec" senza usare "set!"?
- 19. Ricerca di "." con string.find()
- 20. Come viene implementato LongAccumulator, in modo che sia più efficiente?
- 21. Come viene implementato il conto di mantenimento in NSObject?
- 22. Come viene implementato "fornito" in un fatto a Midje?
- 23. In C++ come viene generalmente implementato l'overloading delle funzioni?
- 24. CPython - Internamente, cosa viene memorizzato nello stack e nell'heap?
- 25. Esce il programma di blocco del sonno? Come viene implementato?
- 26. Come viene implementato il framework di isolamento dei fori?
- 27. Come viene implementato il nuovo logo google (sfere mobili)?
- 28. Come viene implementato il metodo del post http?
- 29. Come viene implementato il cursore del database Android nei dettagli?
- 30. Come viene implementato il ruby on rails has_many (e simili)?
. qualcuno potrebbe aggiornarlo? – TheTrowser