データ構造

データ構造#

データをどのように持つかによって、探索時などに計算量が大きく変わることがある。

大規模なデータを効率的に処理するにあたって必要になる。

  • listは検索("hoge" in List)するとき\(O(n)\)(線形探索)

  • setは検索するとき\(O(1)\)

  • listでsortすると、要素数の分だけ計算量かかる

  • heapq(ヒープキュー、優先度つきキュー)で保持すると、最小値や最大値しか取り出せないが、頻繁に最小値や最大値を参照するときはlistで保持して毎回sortするより効率がいい(ABC141D - Powerful Discount Tickets

参考