時々、キュー、スタック、ヒープなどのO(N)時間の複雑さを持つ特定の機能を持つ特定のdsがあります。ある要素がこれらのdsの1つに含まれているかどうかをチェックするだけのプログラムでこれらのdsの1つですが、O(N)の複雑さがあるので、それは私のアルゴリズムの落とし穴です。別のデータ構造の要素を追跡するためのハッシュマップを持つ
メモリが私の心配ではない場合、制限されたデータ構造内の要素を追跡するハッシュマップを持つことは貧弱な設計ですか?これを行うと、基本的にO(N)制限が削除され、O(1)になることが許可されます。
ちょうど警告ですが、ハッシュマップは厳密な意味でO(1)の時間複雑さを持っていません。ハッシュマップ/テーブルは実際にはO(n)です。しかし、そのAMORTIZED時間の複雑さはO(1) – Makogan