2017-04-25 9 views
1

저는 현재 고급 데이터 구조 클래스에 있으며 그래프에 대해 좋은 점을 배웠습니다. 이번 여름에 나는 룸메이트와 어울리는 알고리즘 작성을 도왔습니다. 이제 데이터 구조 클래스에 대해 도시 경로 그래프를 작성하고 정렬 및 소수 알고리즘을 수행했으며 그래프가 내 룸메이트 검색 알고리즘으로 시작하기에 좋은 장소라고 생각합니다.룸메이트 검색 알고리즘

나는 우리의 데이터베이스가 단지 텍스트 파일 일 수 있다고 생각하고 있었다. 그러나 각 노드를 그래프의 각 노드에서 초기화 할 수 있습니다. 각 학생은 더 많은 학생들에게 무의미한 가장자리를 갖게됩니다. (다른 학생과 룸메이트가되고 싶지 않은 학생에게는 가장자리가 없으며, 여학생도 원하지 않습니다. 반복 룸메이트). 이제 특별한 관심사에 따라 가장자리 무게를 더 만들 수도 있습니다.

위의 내용은 모두 매우 간단하며 구현하는 데 문제가있을 것이라고 생각하지 않습니다. 하지만 여기 내 질문 :

_ 공통 관심 분야를 어떻게 업데이트해야합니까? 물리적 조사로 시작한 다음 텍스트 파일로 돌아가서 가장자리의 무게를 수동으로 업데이트해야합니까? 아니면 일치하는 관심 분야를 추적하는 필드를 만들어야합니까?

자세히 알아보기, 모든 것이 자바로 작성됩니다.

답변

0

디자인하려는 것은 2 부분 일치입니다. 다행히도 다른 bipartite 매칭 알고리즘과 달리 멋진 그래프 알고리즘과 복잡한 구현이 필요 없습니다. 이것은 매우 닫습니다 Stable Marriage Problem 그리고 놀랍게도 이것에 대한 매우 효과적인 알고리즘이 훨씬 효과적입니다.

내 생각에 안정적인 결혼 문제에 대한 C++ 구현을 공유 할 수 있습니다.