Mgcllee

[자료구조] 이진 트리

이진 트리의 개념 이진 트리는 최대 차수가 2 인 트리입니다. 즉, 트리에 있는 모든 노드는 자식 노드의 수가 2개 이하로 갖고 있는 경우입니다. 2개 이하라고 한 이유는 트리 모양에 따라 이름이 다르기 때문입니다. 대표적으로 정 이진 트리, 포화 이진 트리, 완전 이진 트리, 균형 이진 트리 등이 있습니다. [모든 노드의 차수가 2인 이진 ...

[백준][9375] 패션왕 신해빈

이 포스트는 백준 사이트의 패션왕 신해빈 문제 풀이입니다. 문제 제약 확인 문제의 입력 조선에서 “같은 종류의 의상은 하나만 입을 수 있다.” 라고 하였으므로 옷의 각 종류에서 선택되는 것은 1개 입니다. 풀이 이 문제는 해시맵을 사용하여 간단하게 풀 수 있는 문제입니다. 예시 문제를 통해 수식을 만들고 코드를 작성해 보겠습니다. ...

[알고리즘] Union-Find 알고리즘

서로소 집합을 찾기 서로 중복되지 않는 부분 집합들을 구현할 때, 사용되는 것이 Union-Find 알고리즘입니다. 예를들어, 여러 사람의 관계가 그래프의 노드(사람)과 엣지(관계)로 표현될 때 관계 그래프의 총 개수를 확인할 수 있습니다. 이때, 반드시 확인해야 할 것은 두 집합이 반드시 상호 배타적인 부분 집합(서로소 집합) 이여야 한다는 점입니...

[C++] 포인터와 레퍼런스(참조)의 차이

C 언어는 데이터 원본에 접근하기 위해 포인터 를 사용합니다. 그러나 포인터는 몇 가지 위험성을 가지고 있기 때문에 이 위험성을 줄이고자 C++ 에서는 참조 를 사용합니다. 먼저 포인터의 위험성을 확인한 뒤 C++ 참조 연산자와 무엇이 다른지 확인해보겠습니다. 포인터 개념 짚고 가기 포인터는 메모리 주소 값 을 저장하는 변수입니다. 어떤 ...