서브스크린

Substring
""은 ""의 하위 문자열이다.

공식 언어 이론컴퓨터 과학에서, 하위 문자열문자열 내의 연속적인 문자열을 말한다.[citation needed] 예를 들어, "최고"는 "가장 좋았던 시절"의 하위 문자열이다. 이와는 대조적으로, "Itwastimes"는 "가장 좋았던 시절"의 연속이지만, 하위 문자열은 아니다.

접두사접미사는 서브스트링의 특별한 경우다. 문자열 의 접두사는 의 시작 부분에서 발생하는 S의 하위 문자열이며 마찬가지로 의 끝에서 발생하는 하위 문자열이다

문자열 "apple"의 모든 하위 문자열 목록은 "apple", "ppl", "ppl", "ppl", "app", "pp", "pl", "le", "a", "p", "l", "e", "" (끝에 빈 문자열 참고)가 될 것이다.

서브스크린

은(는) t= ) s {\ s(가 있는 경우 문자열 {\ 의 하위 문자열(또는 )[1]이다 특히 빈 문자열은 모든 문자열의 하위 문자열이다.

예: 문자열 = ana = 의 하위 문자열(및 하위 문자열)과 동일함banana 두 가지 상쇄 시:

바나나 아나 

번째 발생은 p {\을(를) 사용하여 얻는다.b s= sna, p= 을(를) 사용하여 두 번째 발생을 얻음ban 빈 문자열은 s 을(를) 선택하십시오.

문자열의 하위 문자열은 문자열 접미사접두사이며, 접두사의 접미사(예: nan 의 접두사다. nana, 즉 의 접미사가 된다. banana. 이(가) 의 하위 문자열이라면 그것은 또한 하위 문자열이며, 이것은 보다 일반적인 개념이다. 주어진 문자열에서 주어진 패턴의 발생은 문자열 검색 알고리즘으로 찾을 수 있다. 둘 이상의 문자열의 하위 문자열과 같은 가장 긴 문자열을 찾는 것은 가장 긴 공통 하위 문자열 문제로 알려져 있다. 수학적 문헌에서는 서브스트레이션을 (미국에서는) 하위어 또는 요소(유럽에서는)라고도 부른다.[citation needed]

접두사

문자열 은(는 = {\s(와) 같은 문자열 {\ s}이(가[1]) 있는 경우 문자열 t 의 접두사로 문자열의 적절한 접두사는 문자열 자체와 같지 않으며,[2] 또한 일부 소스에서는[3] 적절한 접두어가 비어 있지 않도록 제한된다. 접두사는 부전의 특수한 경우로 볼 수 있다.

예:ban 문자열의 접두사(및 하위 문자열 및 하위 문자열)와 동일 banana:

바나나 금지령 

정사각형 부분 집합 기호는 를 나타내는 데 사용되기도 하므로 p t p (가) t {\의 접두사임을 나타내도록 한다 이것은 특정 종류의 접두사 순서접두사 관계라고 불리는 문자열의 이진 관계를 정의한다.

접미사

문자열 은(는 {\ p 경우문자열 t {\ t}의 접미사로[1] 적절한 접미사는 문자열 자체와 같지 않다. 더 제한적인 해석은 그것 역시 비어[1] 있지 않다는 것이다. 접미사는 부전등의 특수한 경우로 볼 수 있다.

예:nana 문자열의 접미사(및 하위 문자열 및 하위 문자열)와 동일 banana:

바나나 나나 

문자열의 접미사 트리는 모든 접미사를 나타내는 3개데이터 구조다. 접미사 트리는 문자열 알고리즘에 많은 수의 응용 프로그램을 가지고 있다. 접미사 배열은 접미사의 시작 위치를 알파벳 순으로 나열하는 이 데이터 구조의 단순화된 버전이다. 접미사 배열은 많은 동일한 응용 프로그램을 가지고 있다.

테두리

테두리는 같은 문자열의 접미사 및 접두사로서, 예를 들어 "밥"은 "바밥"(그리고 "바보네팅테이크밥"의 테두리다.

슈퍼스트링

문자열의 유한 집합 슈퍼스트링 의 모든 문자열을 하위 문자열로 포함하는 단일 문자열이다. For example, is a superstring of , and is a shorter one. 일반적으로 하고, 길이 가능한 한 작다 superstrings을 찾는데/&P{P\displaystyle}의 어떤 주문의 모든 문자열의[해명 필요한]을 연접 P{P\displaystyle}의 사소한 초끈을 준다. 지정된 문자 집합은 superpermut이라고 불리는 모든 가능한 순열이 포함된 문자열 관심이 있다.ation.

참고 항목

참조

  1. ^ a b c Lothaire, M. (1997). Combinatorics on words. Cambridge: Cambridge University Press. ISBN 0-521-59924-5.
  2. ^ Kelley, Dean (1995). Automata and Formal Languages: An Introduction. London: Prentice-Hall International. ISBN 0-13-497777-7.
  3. ^ Gusfield, Dan (1999) [1997]. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. USA: Cambridge University Press. ISBN 0-521-58519-8.

외부 링크

  • Wikimedia Commons의 하위 문자열 관련 미디어