배열을 정렬하는 알고리즘을 찾고 있지만 값을 이동하지는 않습니다. 오히려 가능한 한 적은 수의 값을 삭제하고 정렬 된 목록으로 끝내고 싶습니다. 기본적으로 나는 오랜 오름차순 하위 배열을 찾고 싶다.배열을 정렬하기 위해 요소 제거
는 설명하기 위해 : 나는 나는이 작업을 수행하는 방법을 볼 수 있습니다
이1 4 5 6 7 2 3 8
이
1 4 5 6 7 8
과하지 (5 개 제거합니다)
1 2 3
될 (2 개 제거합니다)해야 순진한 방법, 즉 재귀 적으로 각 요소에 대한 '제거'및 '제거하지 않음'트리를 확인하는 것입니다. 더 빠르고 효율적인 방법이 있는지 궁금합니다. 이런 종류의 문제에 대한 공통적 인 이동 알고리즘이 있습니까?
이유는 각각의 성공 요소는 이전 요소보다 큰 경우 확인 (그리고 그것의하지 않을 경우 삭제)하지? – ASGM
@ASGM : "욕심 많은"알고리즘이 _ 최장 오름차순 하위 배열을 제공하지 않기 때문에. 다음을 고려하십시오 :'9 1 2 3 4 5 6 7 8'. – Thomas
아, 좋은 지적 @ 토마스! – ASGM