나는 정렬과 alogorithms을 많이 사용했지만 벡터는 괜찮습니다. 최근에 저는 흥미로운 질문에 직면 해 있으며 그것을 해결하는 방법에 대한 귀하의 제안을 원합니다. 그래서, 아래에 내 질문입니다.문자열 벡터 정렬
Q, 나는 벡터에 4 개의 문자열을 부여 받았고 그 문자가 무엇인지에 따라 특정 순서로 정렬해야합니다. 따라서 모든 문자열의 마지막 문자는 다른 문자열의 첫 번째 문자와 일치해야하며이 문자열의 마지막 문자는 다른 문자열의 첫 번째 문자와 일치해야하며 가능한 한 가장 긴 문자열을 만들어야합니다.
예를 들어, "ABCD" "TGHI" "DADC" "IYUR" "CXYT" 과 같은 문자열 벡터가있는 경우 "ABCD"와 같이 정렬됩니다. 그러면 세 번째 문자열 "DADC"가 나타납니다. 다섯 번째 문자열 "CXYT"가 될 것입니다. 결과는 "ABCD" "DADC" "CXYT" "TGHI" "IYUR"가됩니다.
지금 위의 규칙에 따라 '호환 가능'하면 다른 문자열로 각 문자열을 확인하는 것이 좋을지 궁금합니다. 그렇다면 벡터에 5 개의 문자열이 있으면 5 개가됩니다. + 4 + 3 + 2 + 1 가능성이 있고 예를 들어 20 개의 문자열이 있다면 많은 양을 늘릴 수 있습니다. 이렇게 좋은 생각입니까 아니면 다른 좋은 효율적인 솔루션입니까? 감사합니다.) 당신은 이해합니다.
"예"라고 말하지 마십시오. [alot] (http://hyperboleandahalf.blogspot.com/2010/04/alot-is-better-than-you-at-everything.html)만이 그렇게 말할 수 있습니다. –
"정렬"은 요소에 선형 순서가 없기 때문에 올바른 용어가 아닙니다. 이것은 좀 더 복잡합니다. –
불행하게도 NP-complete 인 "Longest path problem"처럼 보입니다. – zch