Greedy 2

[알고리즘] 그리디 알고리즘이란? - 1

오늘은 그리디 알고리즘에 대해서 알아보겠습니다. 그리디 알고리즘 그리디 알고리즘, 욕심쟁이 알고리즘이라고 불리는 이 방식은 문제를 해결하기 위핸 문제해결 패러다임 중 하나입니다. 매순간마다 직면한 상황에서 가장 좋은 선택지를 선택하는 알고리즘이죠. 그리디 알고리즘에 속하는 많은 알고리즘이 있습니다. 동전 거스름돈 문제 최소 신장 트리(MST) 구하기 최단 경로 찾기 부분 배낭 문제 집합 커버 문제 작업 스케쥴링 허프만 압축 오늘은 이 중에서 집합 커버 문제까지 다뤄보겠습니다. 동전 거스름돈 문제 음료수 자판기가 있다고 해봅시다. 각 자판기는 현금을 받고 음료수를 줍니다. 거스름돈이 있다면 거스름돈을 어떻게 줄지에 대해서 결정해야합니다. 이 때, 그리디 알고리즘이 쓰입니다. 대한민국 기준으로 동전은 500..

CS/Algorithm 2023.10.17

[알고리즘] 최소 신장 트리란?

오늘은 최소신장트리에 대해서 알아보겠습니다!! 그 전에 신장 트리에 대해서 알아봐야하는데, 이는 이전 그래프 관련 글에서 다루었으므로 생략하겠습니다. 최소 신장 트리 최소 신장 트리에서는 간선에 가중치가 존재합니다. 실생활에서 쓰이려면 두 정점 사이의 거리라고 해석해도 될 것 같습니다. 저희는 이러한 가중치를 최소화하고 싶습니다. 그래서 간선의 가중치가 최소인 신장 트리를 생각하게 되었고 이를 최소 신장 트리라고 합니다. 최소 신장 트리를 구성하기 위해 쓰이는 알고리즘은 그리디 알고리즘입니다. 그리디 알고리즘은 매순간 현재로써 가장 좋은 선택을 한다는 의미에서 욕심쟁이 알고리즘이라고 합니다. 이러한 그리디 알고리즘에 대한 개념은 최소 신장 트리를 구현한 알고리즘을 이해하면서 차차 알아가실 수 있습니다. ..

CS/Algorithm 2023.10.14