❗ 순열과 조합의 차이는 순서를 고려하냐의 차이 !순열은 순서를 고려하고, 조합은 순서를 고려하지 않는다.순서를 고려한다는 것은 순서가 다르면 다른 것으로 취급한다는 뜻서로 다른 n개의 원소에서 r개를 중복 없이 선택하여 순서대로 나열선택하는 순서가 다르면 서로 다른
고정된 크기의 배낭에 물건들을 담아 배낭에 담긴 물건들의 가치의 합을 최대화하는 문제배낭의 크기가 7이고, 4개의 물건의 무게와 가치가 다음과 같다고 가정해보자.2차원 배열을 만들고 각 행과 열에 최대 가치를 저장해 나간다. 행 i 은 물건을, 열 j 은 가방의 최대
🎀 Union Find 노드를 합치고(union) 부모를 찾아(find) 서로소 집합(disjoint set)을 찾아내는 알고리즘 서로 중복되지 않는 부분 집합들로 나눠진 원소들에 대한 정보를 저장하고 조작하는 자료 구조 다수의 노드들 중에 연결된 노드를 찾거나 노드
🌲 최소 신장 트리 (MST, Minimum Spanning Tree) 간선의 가중치를 고려하여 최소 비용의 Spanning Tree를 선택하는 것 Spanning Tree 란? 최소 연결 부분 그래프 모든 정점들이 연결되어 있어야 하고, 사이클을 포함해서는
우선순위 큐(Priority Queue)와 힙(Heap) 자료구조에 대해 알아보고, 파이썬으로 구현해보자!
탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 이진 탐색 (Binary Search)알고리즘에 대해 알아보자 !
그래프의 특정한 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 다익스트라(Dijkstra) 알고리즘에 대해 알아보자.
정렬되지 않은 리스트에서 heap 자료구조를 이용하여 빠르게 중앙 값을 찾는 방법에 대해 알아보자.
리스트에 순차적으로 접근할 때 사용되는 투 포인터(Two Pointers) 알고리즘에 대해 알아보자!
모든 지점에서 다른 모든 지점까지 최단 경로를 모두 구해야하는 경우 사용하는 플로이드 워셜 알고리즘에 대해 알아보자.
소수 판별 알고리즘과 에라토스테네스의 체 알고리즘에 대해 알아보자.
사이클이 없는 방향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열하는 위상 정렬 알고리즘에 대해 알아보자.
유클리드 호제법을 이용하여 두 수의 최대공약수, 최소공배수를 구하는 방법과 방정식의 해를 구하는 방법을 알아보자.
벨만-포드 알고리즘을 통해 그래프에서 최단 거리를 구하고, 음수 사이클 존재 여부를 판단하는 방법을 알아보자.
두 노드의 공통된 조상 중에서 가장 가까운 조상인 최소 공통 조상(LCA)을 구하는 방법에 대해 알아보자.
행과 열의 수가 같은 정방형 배열(square array 또는 square matrix) 에서 2차원 배열을 오른쪽으로 90도 회전 시키는 방법에 대해 알아보자.
파이썬에서 해시테이블 자료구조를 사용하는 방법에 대해 알아보자.
가장 긴 증가하는 부분 수열 (Longest Increasing Subsquence, LIS) 에 대해 알아보고, Python으로 구현해보자.
코딩 테스트 면접을 준비하며 자료구조와 빈출 주제 위주로 정리하였습니다.