2014-06-21 2 views
0

프로그래밍 방식이 아닌 일반적인 "알고리즘 방식"질문입니다. Algrotihm이 여러 기준에 따라 레코드를 순위 지정합니다.

우리는 다음과 같은 형식의 레코드 테이블이 있다고 가정 :

S/N Cost Profit Review 
1  5  9  4 
2  10  6  5 
3  8  11  6 
4  12  5  9 

우리는 어떻게 든 종류와 여러 기준 (특성)에 따라이 기록 순위를 할; 예를 들면 비용과 이익.

이렇게하는 데 도움이되는 알려진 프로세스 나 알고리즘이 있습니까?

여러 객관적인 문제가 있지만 여러 특성이있는 테이블에서 레코드를 정렬하는 다른 방법이 있는지 알아 내려고하고 있습니다.

미리 감사드립니다.

+0

포스트 수학 질문의 총 수 있어야합니다. – DBedrenko

+0

@NewWorld 알고리즘적인 질문입니다. 따라서, 나는 여기가 적합하다고 생각합니다. 감사. – STiGMa

+0

내 실수. 이 질문은 SO보다 컴퓨터 과학 스택 교환에 더 적합합니다. – DBedrenko

답변

0

물론입니다! 하나 이상의 속성에 따라 정렬하려는 문제점에서. 여기서 속성은 다른 속성보다 더 많은 가치가 있다고 가정합니다. 예를 들어 cost으로 처음 주문하면 동일한 cost의 세 항목으로 끝나고 다른 덜 가치가있는 속성에 따라 정렬됩니다. 예 : profit .

알고리즘 : 효율적인 정렬 알고리즘

  1. 정렬 - 말 : quickSort
  2. 추출 중복 (있는 경우) 다음 다른를 사용하여 분류 ( 적은 값)
  3. 속성
  4. 두 배열을 모두 < 결합하십시오. 최종 정렬을 어떻게 원하는지에 따라 다릅니다.
  5. 인쇄

이 알고리즘은 수학 스택 교환에 O(2nLogn) => O(nLogn)

enter image description here

+0

@AK, 귀하의 제안에 대해 감사드립니다. 이 문제에 대한 가능한 해결 방법 중 하나입니다. 그러나 여러 기준을 동시에 적용하여 레코드의 순위를 매기는 데 사용할 수있는 기법/접근법에 대해 알고 있습니까? – STiGMa

+0

당신은 실제로 인간과 같은 시간에 2 개의 카페테리아에 기반한 것을 주문할 수 없습니다. 어느 시점에서 다른 것보다 더 가치가있는 기준이 있습니다. 또 다른 해결책은이 두 가지 카페테리아를 총계 기준 = 90 % 기준 - 1 + 10 % 기준 - 2'라고 합계 기준을 기준으로 정렬합니다. –

+0

@AK, 나는 이것이이 문제에 대한 가능한 해결책이라는 데 동의합니다. 이 경우의 문제는 이러한 기준을 만족시키고 유틸리티 함수를 최소화하는 레코드를 선택하려는 경우 무차별 한 공격을 피할 수 없다는 것입니다. 이것이 대체 방법이 있는지 알아 내려고하는 이유입니다. – STiGMa

관련 문제