11

重複の可能性:
string.find は CPython でどのように実装されていますか?

ここで、部分文字列検索のパフォーマンスを比較するスタックオーバーフローで多くの投稿を読みました (例: Python 文字列検索効率これは部分文字列を検索する最も効率的な方法ですか?Python の部分文字列など...)

また、 contains abstract.cのソース コード実装も確認しました。

私が見る限り、組み込みの実装は反復的なものです: python docs

Python には、部分文字列を見つけるためのより十分な手法が実装されていますか: Boyer–Moore AlgorithmRabin–Karp algorithmなど... ???

編集

質問は拡張されました: Python: 洗練されたアルゴリズムを埋め込むことによる部分文字列検索の改善

4

2 に答える 2

10

実際の cpython 文字列検索の実装は次のとおりです。

http://hg.python.org/cpython/file/tip/Objects/stringlib/fastsearch.h

Boyer-Moore を使用しているようです。

于 2012-09-03T09:05:29.690 に答える
1

The core implementation does not provide this level of functionality.

You will find implementations for Boyer-Moore or Rabin-Karp for Python using Google.

于 2012-09-03T09:03:02.520 に答える