/ / NSDictionary objectForKey時間効率-Objective-C、パフォーマンス、時間の複雑さ、基盤

NSDictionary objectForKey時間効率 - 客観的 - c、パフォーマンス、時間 - 複雑さ、基礎

これは私の古いものの拡張の一種です質問ですが、セレクターを呼び出すと、ForObject :: NSDictionaryの場合、1つの操作が次のようになりますか?そのキーに関連付けられた値を返すか、キーが存在しない場合は何も返しませんか? NSDictionary objectForKey操作を実装すると、線形時間効率で実装するように感じます:(

回答:

回答№1は2

NSDictionaryは強力な時間の複雑さを作りません 保証、しかし実際にはO(1)ですハッシュベースのコレクション用。 > O(1)の動作が見られる場合は、オブジェクトに適切なハッシュ関数があることを確認してください。衝突が発生している可能性があります。