Ukkonen 알고리즘을 사용하여 가장 긴 공통 부분 문자열, 가장 긴 회문 부속 문자열, 가장 긴 반복 부분 문자열, 모든 패턴 검색 및 하위 문자열 검사를 KMP와 접미사 트리로 모두 찾을 수 있습니까? 그렇다면 두 알고리즘 모두 선형 시간 복잡성을 가지고 있기 때문에 어느 것을 사용해야합니까?시간 복잡성에 대한 Ukkonen의 알고리즘을 사용하는 Knuth-Morris-Pratt (KMP)와 접미사 트리의 차이.
0
A
답변
0
가장 긴 공통 부분 문자열을 찾으려면 선형 복잡도를 갖는 Kadane의 알고리즘을 사용합니다. 가장 긴 Palindromic Substring의 경우 선형 복잡도를 갖는 Manacher 알고리즘이 선택됩니다. 반복되는 문자열과 모든 패턴을 검색하기 위해, 예는 KMP와 Boyer-Moore 사이에서 선택의 여지가 있습니다. Boyer-Moore가 맨 끝에 일치하지 않으면 처음부터 일치시키지 않아도된다는 가정하에 첫 번째 패턴 대신 마지막 패턴과 패턴이 일치합니다. KMP는 불일치가 발생하면 이전에 매칭 된 문자의 재 검사를 우회하는 관찰을 이용하여 메인 텍스트 스트링 S 내의 단어 W의 발생을 검색한다. 이렇게하면 ACTGT와 같은 작은 세트에 대해 KMP가 약간 더 최적화됩니다.
관련 문제
- 1. Ukkonen의 접미사 트리에 관한 설명
- 2. Ukkonen의 알고리즘 일반화 된 접미사 나무
- 3. 프로그램 시간 복잡성에 대한 설명 된 예
- 4. 공간 복잡성에 대한 일반적인 혼동
- 5. 알고리즘의 복잡성에 대한 다른 표기법
- 6. ukkonen의 편집 거리 알고리즘에 대한 설명
- 7. 스택을 사용하는 접미사 - 접미사 변환기
- 8. 접미사 검색 시간
- 9. 복잡성에 대한 반 패턴의 이름
- 10. 시간 차이
- 11. C++ : 시간 (크로노없이) 금액에 대한 알고리즘을 실행
- 12. 트리의 LCS에 대한 알고리즘
- 13. 시간 차이
- 14. 시간 차이 SUM 뒤 차이
- 15. PHP - 근무 시간 만 사용하는 날짜/시간 차이
- 16. 분기 명령에 대한 접미사?
- 17. quicksort의 알고리즘 복잡성에 대한 설명을 찾고
- 18. 시간과 공간 복잡성에 대한 첫 번째 검색
- 19. 두 시간 형식의 시간 차이
- 20. 접미사 트리
- 21. 이진 탐색 트리의 시간 복잡도
- 22. 접미사/접미사 증가 연산자
- 23. 동일한 시간 복잡도의 두 알고리즘을 비교하는 데 도움이되는 요소
- 24. NSString에서 12 시간 시계 접미사 제거
- 25. 시간 차이 :: high_resolution_clock
- 26. Symfony2 날짜 시간 차이
- 27. 찾기 시간 차이
- 28. PHP - 도착 시간 차이
- 29. 파이썬에서 1 시간 차이
- 30. 시간 차이 계산
숙제 문제입니까? 그리고 지금까지 어떤 연구를 해왔습니까? – AgataB
아니요, 숙제 문제가 아닙니다. 나는 그것에 대해 조금 연구를했다. –