2025/03/16 3

그래프(Graph) 자료구조와 최단 경로 알고리즘 (다익스트라, 플로이드 워셜)

1. 그래프(Graph) 자료구조란? 그래프(Graph)는 정점(Vertex)과 간선(Edge)으로 구성된 자료구조로, 객체들 간의 관계를 표현하는 데 사용된다. 정점(Vertex, 노드): 데이터를 저장하는 개체 (예: 도시, 사람, 컴퓨터)간선(Edge): 정점 간의 연결 관계를 나타내는 요소 (예: 도로, 네트워크 링크)그래프는 소셜 네트워크 분석, 지도 네비게이션, 네트워크 라우팅, 인공지능(AI) 경로 탐색 등 다양한 분야에서 활용된다.2. 그래프의 종류2-1. 방향 그래프 vs 무방향 그래프무방향 그래프(Undirected Graph): 간선의 방향이 없으며, 양방향으로 이동 가능예) A—B (A에서 B로 갈 수도 있고, B에서 A로도 갈 수 있음)방향 그래프(Directed Graph, DA..

컴퓨터공학 2025.03.16

해시 테이블(Hash Table)의 구조와 활용 사례

1. 해시 테이블이란? 해시 테이블(Hash Table)은 키-값(Key-Value) 구조를 활용하여 데이터를 빠르게 저장하고 검색하는 자료구조이다. 해시 함수를 이용해 데이터를 특정한 위치에 저장하고, 필요한 값을 빠르게 찾을 수 있도록 한다. 해시 테이블은 **배열(Array)과 연결 리스트(Linked List)**를 조합하여 빠른 탐색, 삽입, 삭제가 가능한 자료구조이다.1-1. 해시 테이블의 기본 원리**해시 함수(Hash Function)**를 사용하여 키(Key)를 특정 인덱스(Index)로 변환한다.변환된 인덱스에 해당 데이터를 저장한다.검색할 때도 동일한 해시 함수를 사용하여 데이터를 빠르게 찾을 수 있다.2. 해시 테이블의 동작 과정2-1. 데이터 저장 과정키(Key)를 해시 함수(Ha..

컴퓨터공학 2025.03.16

탐색 알고리즘 개념 (이진 탐색, DFS, BFS)

1. 탐색(Search) 알고리즘이란?탐색 알고리즘은 원하는 데이터를 찾기 위한 방법론이다. 다양한 데이터 구조에서 탐색할 수 있으며, 효율적인 탐색을 위해 알고리즘을 적절히 선택하는 것이 중요하다. 대표적인 탐색 알고리즘에는 **이진 탐색(Binary Search), 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)**가 있다.2. 이진 탐색 (Binary Search)2-1. 이진 탐색 개념이진 탐색은 정렬된 배열에서 특정 값을 찾는 효율적인 알고리즘이다. 일반적인 선형 탐색(순차 탐색, O(n))보다 빠르게 동작하며, **시간 복잡도는 O(log n)**이다. 2-2. 이진 탐색 동작 원리배열의 중간 값을 확인한다.찾고자 하는 값이 중간 값보다 작으면 왼쪽 부분 배열을 탐색한다.찾고자 하는 값이 ..

컴퓨터공학 2025.03.16