組み込み開発のためのPython · レッスン 151 / 220

ハッシュテーブルで検索する

辞書や集合はハッシュテーブルを基盤に平均的に高速な検索を行います。キーはハッシュ可能である必要があり、衝突や最悪ケースも理論上考慮します。

辞書や集合はハッシュテーブルを基盤に平均的に高速な検索を行います。キーはハッシュ可能である必要があり、衝突や最悪ケースも理論上考慮します。 仕組みだけでなく、検証方法と運用上の注意も具体例で確認します。

基本の考え方

辞書や集合はハッシュテーブルを基盤に平均的に高速な検索を行います。キーはハッシュ可能である必要があり、衝突や最悪ケースも理論上考慮します。

安全に試すための確認

計算量だけでなく入力条件、重複値、空データ、最悪ケースを確かめます。組み込み用途ではメモリ上限と実行時間を実測し、標準ライブラリの利用も検討してください。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

registers = {0x10: "STATUS", 0x11: "CONTROL"}
print(registers.get(0x10))

手を動かす課題

多数のレジスター番地から名前を引く辞書を作り、未登録番地の扱いを定めてください。

参考資料

「データ構造とアルゴリズム」の章一覧へ