2009-05-04 8 views
1

숫자 0에서 99의 이진 표현을 포함하는 문자열 S를 고려하십시오. S의 모든 요소가 T의 부분 문자열이되도록 최단 문자열 T는 무엇입니까?가장 짧은 이진수 0-99를 커버하기 위해 0-99

+0

"기계가 시퀀스 순서에 신경을 쓰지 않습니다.": 주문이 아니라면 무엇에 신경 쓰나요? 또한이 예는 의미가없는 것처럼 보입니다. – sth

+0

@sth 귀하의 순서는 101010101111010110001010000000011과 같을 수 있습니다. rigth 응답이 111이면 기계가 일치 시키려고 시도합니다. 그것은 정규 표현식 "* 111 *"과 같습니다. –

+2

"0부터 99까지의 숫자의 이진 표현을 포함하는 문자열 S를 고려해보십시오. S의 모든 요소가 T의 부분 문자열이되도록 최단 문자열 T가 무엇입니까?" – RossFabricant

답변

2

요청하신 내용은 바이너리 De Bruijn sequence과 매우 유사합니다. Eulerian cycles을 사용하는 해당 문제의 알고리즘은 쉽게 문제를 해결할 수 있습니다.

+0

+1 아주 멋지다 :) 나는 실제로 그것에 대한 수학적 상상력을 찾고 있었다. 컴퓨터로 어떻게 얻을 수 있습니까? –

+0

당신은 몇 가지 그래프 이론을 배워야 할 것이다. 알고리즘은 두 페이지에 설명되어있다. – marcog

+0

marcog : 대단히 감사합니다! 나는 할 것이다 :) –