私はビッグオーについてすべて学んでおり、各プログラムの大きな複雑さを理解しようとしています。私の大きな複雑さが正しいことを確認したい.
プログラム 1:
ステップ 1 - file からすべての単語を読み取りますO(n)
。n は単語リストのサイズO(m)
です単語の文字数 ステップ 3 - HashMap に挿入O(1)
合計 -O(n + m)
プログラム 2: ステップ 1 - 単語をプログラムに渡す ステップ 2 - ハッシュマップで単語を検索する -O(1)
ステップ 3 - 各単語の文字をループして操作するO(m)
(m は単語の文字数) ステップ 4 - 単語を入力する関数 - これを と計算しましたO(2^m)
。ここで、m は単語の文字数 ステップ 5 - ハッシュマップで単語を再度検索しますO(1)
O(2^m + m)
ハッシュマップを調べているだけなので、プログラムには O(n) は関係ありません。唯一の複雑さは、渡された単語の文字をループすることです