시간복잡도 (2) 썸네일형 리스트형 시간 복잡도 시간 복잡도(Time Complexity)는 알고리즘이 입력 크기(n)에 따라 실행 시간을 얼마나 소비하는지를 분석하는 개념입니다. 빅오 표기법(Big-O Notation)을 사용하여 최악의 경우 실행 시간을 나타냅니다.대표적인 시간 복잡도 종류시간 복잡도설명O(1)입력 크기와 관계없이 실행 시간이 일정함O(log n)입력 크기가 증가할수록 실행 시간이 로그(log) 형태로 증가함O(n)입력 크기에 비례하여 실행 시간이 증가함O(n log n)병합 정렬(Merge Sort)과 같은 정렬 알고리즘에서 나타남O(n²)중첩 루프가 있는 알고리즘 (버블 정렬, 선택 정렬 등)O(2ⁿ)피보나치 재귀 호출과 같은 경우O(n!)외판원 문제와 같은 조합 탐색예제 코드로 시간 복잡도 분석1. O(1) - 상수 시간int.. BFS(너비 우선 탐색)와 DFS(깊이 우선 탐색) in C# 그래프 탐색 알고리즘인 BFS(너비 우선 탐색)와 DFS(깊이 우선 탐색)는 다양한 문제 해결에 활용됩니다. 이번 글에서는 C#으로 구현한 BFS와 DFS 예제 코드와 함께 탐색 과정 테이블을 포함하여 설명하겠습니다.그래프 구조탐색을 수행할 그래프는 아래와 같은 구조를 가지고 있습니다. 1 / | \ 2 3 4 / \ |5 6 7 그래프의 인접 리스트 표현노드인접 노드12, 3, 425, 6374없음5없음6없음7없음BFS (너비 우선 탐색)BFS는 가까운 노드부터 차례대로 방문하는 탐색 방법으로, **큐(Queue, FIFO)**를 활용하여 구현됩니다.1. BFS 알고리즘 동작 방식탐색 시작 노드를 큐에 삽입하고 방문 처리큐에서 노드를 꺼낸 후, 해당 노드의 인접 노드를 큐에 삽입큐.. 이전 1 다음