-1

2 つの文字列を受け入れ、それらが互いのアナグラムであるかどうかをチェックするメソッドを備えた Java プログラムがあります。

2 つの文字列がアナグラムかどうかを判断する方法は複数あると思います。

logic - 1 : 文字列をソートし、それらが等しいかどうかを確認します logic - 2 : 文字列の頻度を確認します

他にもたくさんの方法があります。

結局のところ、2 つの文字列を取り、それらがアナグラムかどうかをチェックする複数のメソッド [それぞれが異なるロジックを持つ] を使用できます。

これらの方法のパフォーマンスをチェックし、楽観的な方法を決定するさまざまな方法は何ですか?

何か案は?

4

1 に答える 1

1

得られる

  • 使用されるアルゴリズムを理解することによる時間の複雑さ。
  • コードがウォームアップしたら、さまざまな長さの文字列にかかる時間を測定します。

文字列の並べ替えは、O(n * ln(n)) および O(n) スペースの順序です。文字ごとにカウンターを使用すると、O(n) 時間と O(m) のスペースが使用されます (m は文字の範囲です)。どちらが速いかは、実際のプログラムでは問題になりそうにないと思いますが、これは演習だと思います。

于 2012-09-23T19:55:24.600 に答える