2012-09-23 3 views
-1

2 개의 문자열을 받아들이고 서로의 anagrams인지 확인하는 메소드가있는 Java 프로그램이 있습니다. 정렬 문자열과 그들이 동일한 논리 있는지 확인 - 2 : -Java 메소드의 성능 테스트

논리 - 1

나는 두 문자열이 아나그램 있는지 확인하기 위해 하나 개 이상의 방법이 생각 문자열의 주파수를 확인

다른 많은 방법들이 있습니다.

일일 끝에, 우리는 두 개의 문자열을 가져 와서 그들이 anagrams인지 확인하는 여러 가지 방법 [각기 다른 논리를 가짐]을 가질 수 있습니다.

이러한 방법의 성능을 확인하고 낙천적 인 방법을 결정하는 다른 방법은 무엇입니까?

아이디어가 있으십니까?

+0

지금까지 해보신 것은 무엇입니까? 몇 가지 가능성을 구현하고 실적을 비교 했습니까? SO에 관한 적절한 질문을하는 방법에 대한 지침은 [FAQ]와 [Ask]를 참조하십시오. –

+3

또한 70 개의 질문을하고 36 개의 답변 만 수락했습니다 ... 다른 34 개의 답변을받지 못하셨습니까? –

+0

@Jim : FAQ를 지적 해 주셔서 감사합니다. :-) 나는이 질문이 알고리즘과 관련이 있다고 믿는다. 그래서 당신도 그런 식으로 표현할 수있다. – jagamot

답변

1

당신은 사용 된 알고리즘을 이해함으로써

  • 시간 복잡도를 얻을 수 있습니다.
  • 코드가 워밍업되면 다른 길이의 문자열에 걸리는 시간을 측정합니다.

문자열 정렬은 O (n * ln (n)) 및 O (n) 공간 순서입니다. 문자 당 카운터 사용은 공간에 대한 O (n) 시간 및 O (m)입니다 (m은 문자의 범위 임). 어떤 프로그램이 더 빠를 지 상상할 수는 없지만 이것이 운동이라고 가정합니다.