KMP 알고리즘에 대한 최상의 시나리오의 최소 비교 수는 얼마입니까?KMP 알고리즘에서 가장 좋은 경우의 최소 비교 수는 얼마입니까?
답변
글쎄, 가장 좋은 경우의 최소 비교 수는 문자열의 길이가 될 것입니다. 이는 첫 번째로 일치하는 것을 찾았 음을 의미합니다. 알고리즘은 O (n)입니다. 즉, 상한 또는 최악의 시나리오는 n 개의 비교를 취합니다. 여기서 n은 검색하는 문자열의 길이입니다. 위키는 꽤 좋습니다. http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
당신의 대답에서 얻은 것은 : T가 문자열이고 P가 패턴 인 경우, | T | = n, | P | = m 인 경우, 전체 교대 횟수가 최소 교대보다 S 인 경우 최소 교대는 1, 최소 교대는 n, 전체 교대 횟수는 O (n + S) O (n)보다 1이됩니다. 예를 들어, T = xxa이고 P = xx 일 경우 첫 번째 시도에서 1 개의 고지가 멈추고 총 비교는 3 (2는 'xx'이고 1은 불일치) ........ ... 내가 틀렸다면 나를 정정하십시오. – Ansari
예! :) 그 말이 맞아. – DaveyLaser
P가 두 문자로만 구성되어 있기 때문에 예제에는 불일치가 없습니다. – alestanis
찾고있는 문자열이 텍스트 문자열의 시작 부분에있을 때 가장 좋은 경우가 발생합니다. 이 경우 k
문자 문자열이 n
문자 문자열 안에 있으면 가장 좋은 비교 번호는 k
입니다.
k
문자 단어를 기반으로 테이블을 계산하는 데 따른 오버 헤드를 고려해야합니다. 일치하는 단어가없는 경우 건너 뛸 문자를 알 수 있습니다. 어떤 경우에도이 구성은 O(k)
에서 이루어집니다.
- 1. 레일 앱에 필요한 최소 파일 수는 얼마입니까?
- 2. 프로그래머 당 최소 테스터 수는 얼마입니까?
- 3. 이미지 프레임 비교 알고리즘에서 가장 우아한 이미지
- 4. 최소 비교 횟수
- 5. B 트리의 리프 수는 얼마입니까?
- 6. 인덱스를 만드는 데 필요한 최소 행 수는 얼마입니까?
- 7. Glassfish 노드의 최대 수는 얼마입니까?
- 8. 최대 웹 메소드 수는 얼마입니까?
- 9. 함수 오버로드의 최대 수는 얼마입니까?
- 10. lan의 최대 컴퓨터 수는 얼마입니까?
- 11. GAE 인스턴스의 사용자 수는 얼마입니까?
- 12. 초당 게임 업데이트 수는 얼마입니까?
- 13. BufferedReader, 읽은 바이트 수는 얼마입니까?
- 14. 3D 평면 알고리즘에서 점의 최소 수직 거리
- 15. 로 명시 최소 수는 SQL
- 16. 스트림에서 fgetc가 읽는 비트 수는 얼마입니까?
- 17. Linux에서 프로그램을로드하는 데 필요한 파일 수는 얼마입니까?
- 18. WebGL 장면의 안전한 삼각형/정점 수는 얼마입니까?
- 19. BitTorrent swarm에서 최적의 노드 수는 얼마입니까?
- 20. 가장 효율적인 스레드 수는 무엇입니까?
- 21. luhn 알고리즘이 작동하는 최소 길이는 얼마입니까?
- 22. 페이지에 넣을 요소 ID의 최대 수는 얼마입니까?
- 23. VB.NET에서 줄 연속의 최대 수는 얼마입니까?
- 24. 파이썬 클래스의 메소드의 최대 수는 얼마입니까?
- 25. 닫힌 페이스 북 그룹의 회원 수는 얼마입니까?
- 26. Sitecore Droplink 필드의 최대 결과 수는 얼마입니까?
- 27. 브라우저에서 최대 동시 파일 다운로드 수는 얼마입니까?
- 28. Couchdb 문서의 최대 필드 수는 얼마입니까?
- 29. 가비지 수집기에 적합한 객체 수는 얼마입니까?
- 30. iPhone 응용 프로그램의 최대 pthread 수는 얼마입니까?
0, 검색중인 문자열이 비어 있으면 0입니다. 그것보다 더 좋은 시나리오는 생각할 수 없다. – rici
0 (n) 여기서 n은 텍스트의 길이이고 텍스트 길이는 0이므로 n = 0이됩니다. – Ansari
이 경우 분명히 0이지만 O (n)은 n과 동일하지 않습니다. 예를 들어, n + k (임의의 상수 k에 대해)는 O (n)입니다. O (n)은 제한에 관한 문장 일 뿐이며 n의 특정 값에 대한 설명은 아닙니다. 어떤 경우에도 KMP는 확실히 O (n)이지만 대부분의 시나리오에서 승수 (비교 횟수)는 1.0보다 약간 적습니다. – rici