본문 바로가기 메뉴 바로가기

My life story

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

My life story

검색하기 폼
  • 분류 전체보기 (257)
    • 여행 (56)
      • 일본 (48)
      • 대만 (4)
      • 태국 (4)
    • 알고리즘 (172)
      • 삼성 SW테스트 (29)
      • BFS (25)
      • Binary search (4)
      • Bipartite matching (6)
      • Brute force (2)
      • Convex hull (5)
      • DFS (4)
      • Dijkstra (4)
      • Dynamic Programming (32)
      • Greedy (11)
      • Implementation (11)
      • LCA (4)
      • Math (3)
      • MCMF (3)
      • Min cut (1)
      • Minimum vertex cover (2)
      • MST (3)
      • Network flow (6)
      • Segment tree (7)
      • Simulation (1)
      • SCC (3)
      • Topological sorting (2)
      • Tree (2)
      • Trie (1)
      • 그 외 (1)
    • 개발 (26)
      • C++ (10)
      • C# (10)
      • Docker (3)
      • 그 외 (3)
    • 네트워크 (1)
    • 일상 (0)
    • 생존신고 (2)
  • 방명록

알고리즘/그 외 (1)
Hungarian algorithm (헝가리안 알고리즘, 헝가리안 메소드 / C++)

헝가리안 알고리즘 0. 주저리주저리 배정 문제(assignment problem)를 해결할 수 있는 알고리즘. 예를 들어 보면 n명의 사람이 n개의 일을 할 때, 어떤 값의 최대(or 최소) 값을 구하는 데 사용된다. 여기서 보통 어떤 값은 비용이나, 효율 등을 적용할 수 있겠다. 정말 간단하게 문제를 접근해보면, brute force의 형태로 모두 대입해 볼 수 있다. 3명이 있다고 했을 때, 사람(1,2,3)과 일(1,2,3)을 매칭 해보자. 1번 사람이 일을 맡을 수 있는 개수 3개, 2번 사람은 2개, 3번 사람은 남는 거 1개. 따라서 3! 만큼 시간이 들고, 따라서 O(n!)의 시간 복잡도를 갖게 된다. (사용불가.) 헝가리안 알고리즘(Hungarian algorithm & Hungarian ..

알고리즘/그 외 2020. 7. 8. 15:29
이전 1 다음
이전 다음
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total
Today
Yesterday

Blog is powered by Tistory / Designed by Tistory

티스토리툴바