서로소 집합(Disjoint-Set)을 표현하는 자료구조로, 여러 개의 노드가 연결되어 있는 그래프에서 두 개의 노드를 선택하여 그 노드가 같은 그래프에 속하는지 판별하는 알고리즘이다.두 노드가 주어졌을 때, 이 두 노드를 한 그래프로 합친다.어떤 노드가 주어졌을 때,
나동빈 님의 이것이 코딩테스트다 with 파이썬 를 보며 코딩테스트에 필요한 다양한 알고리즘 기법들을 복습하고 정리한 내용입니다.코딩테스트에서 구현은 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정으로, 보통 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념이다. 보
나동빈 님의 이것이 코딩테스트다 with 파이썬 를 보며 코딩테스트에 필요한 다양한 알고리즘 기법들을 복습하고 정리한 내용입니다.그리디 알고리즘은 말 그래도 ‘탐욕(Greedy)’적으로 단순 무식하게 문제를 푸는 방식이다. 더 쉽게 설명하자면 현재 상황에서 지금 당장
한 노드에서 가장 인접한 다른 노드부터 차례로 그래프를 탐색하는 알고리즘이다. 가장 가까운 노드부터 가장 먼 노드까지 방문하기 때문에 넓게 탐색한다. (그래서 '너비'우선탐색)Queue에 인접한 노드들을 넣어놓고 차례대로 deQueue한다.두 노드의 최단 경로 또는 임
한 노드에서 그 노드의 깊이에 있는 모든 노드들을 탐색한 후에 다음 너비에 있는 노드를 탐색하는 알고리즘이다. (BFS와 반대)스택으로 구현할 수도 있지만 자기 자신을 호출하는 재귀를 통해 구현할 수도 있다.탐색한 노드를 방문했는지의 여부를 반드시 검사해야한다.출처 :
코딩테스트 문제를 매일 풀면서 순열과 조합 문제가 나오면, 전혀 접근을 못 하는 것 같아 다시 정리합니다.유튜버 딩코딩님의 강의를 보고 참고했습니다..$$nPr = \\frac{n!}{(n-r)!}$$서로 다른 n개의 원소에서 r개를 중복없이 순서대로 선택하고 나열하는