IT/Algorithm 2

[DP, DFS] 백준 2533번: 사회망 서비스(SNS)

백준 알고리즘 문제를 풀이하고 있는 요즘, 그 과정에서 있었던 내용들을 정리하고자 한다. 예전 수험 생활 때 많이 하던 오답노트 느낌으로 작성해두면 좋겠다는 생각이 들어서 시작하게 되었다. 1. 개요동적 프로그래밍(Dynamic Programming) & DFS(Depth-First-Search) 의 두 가지 개념을 적용하여 해결하는 문제 2. 문제페이스북, 트위터, 카카오톡과 같은 사회망 서비스(SNS)가 널리 사용됨에 따라, 사회망을 통하여 사람들이 어떻게 새로운 아이디어를 받아들이게 되는가를 이해하는 문제가 중요해졌다. 사회망에서 사람들의 친구 관계는 그래프로 표현할 수 있는데, 이 그래프에서 사람은 정점으로 표현되고, 두 정점을 잇는 에지는 두 정점으로 표현되는 두 사람이 서로 친구 관계임을 표현..

IT/Algorithm 2025.01.31

[Algorithm] 정렬

정렬 알고리즘의 종류에 따라 개념 및 특징 정리를 하기 위해 글을 포스팅 한다. 1. 버블 정렬 - 인접한 두 개의 요소를 비교해 가면서 정렬을 진행하는 방식 - 장점) 구현이 매우 간단함 - 단점) 순서에 맞지 않는 요소들의 교환이 자주 일어남 - 시간 복잡도 - 최악의 경우, O(n^2) - 평균, O(n^2) - 최선의 경우, O(n) 2. 선택 정렬 - 전체 범위에서 차례대로 가장 작은 숫자를 탐색하고, 가장 왼쪽부터 차례대로 교환하는 방식 - 장점) 자료 이동 횟수가 미리 결정 - 단점) 값이 같은 요소가 있다면 상대적인 위치가 변경될 수 있음 - 시간 복잡도 - 최악의 경우, 평균, 최선의 경우 모두 O(n^2) 3. 삽입 정렬 - 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교..

IT/Algorithm 2023.05.17