Computer Science (CS) 4

그래프 탐색 알고리즘( Graph Search Algorithm )

📋 목 차 ❓ 그래프 탐색 Depth-First Search( DFS ) Breadth-First Search ( BFS ) ❓ 그래프 탐색 그래프 탐색 문제란? 어떤 한 그래프의 해당 그래프의 시작 정점이 주어졌을 때, 시작점에서 간선(Edge, E)을 타고 이동할 수 있는 정점(Vertex, V)들을 모두 찾아야 하는 문제를 의미합니다. 그래프 탐색 알고리즘 (Graph Search Algorithm)에는 흔히 너비 우선 탐색( Breadth-First Search, BFS)과 깊이 우선 탐색(Depth-First Search, DFS)이 있습니다. 🔶 Depth-First Search DFS 요약 -그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 -루트 노드(or 다른 임의의 노드)에서 시작해서..

Linked List (연결 리스트) 란?

📋 목차 ❓ 연결리스트 란? Array(배열) & List (리스트) 특징 연결 리스트 종류 연결 리스트 구현 (자바) ❓ 연결리스트 란? 연결 리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전, 다음 노드와의 연결을 담당합니다. 자료의 논리적인 순서와 메모리 상의 물리적인 순서가 일치하지 않고, 개별적으로 위치하고 있는 원소의 주소를 연결하여 하나의 전체적인 자료구조를 이룹니다. 🔶 Array(배열) & List (리스트) 연결 리스트를 이해하기 앞서 배열과 리스트의 컴퓨터 공학적인 개념부터 잠깐 짚고 넘어가고자 합니다. 배열은 메모리 상에 연속적인 공간을 할당받아 데이터를 저장합니다. 배열은 원..

Queue (큐)

📌 목차 ❓ Queue 란 ❓ Queue 주요 동작 Queue의 사용 사례 Queue의 종류 Queue 구현 ❓ Queue 란 ❓ 큐(Queue)는 먼저 집어 넣는 데이터가 먼저 나오는 FIFO(First In First Out), 선입선출 방식입니다. 선입선출 구조이기 때문에 앞쪽을 나타내는 Front와 뒤쪽을 나타내는 Rear가 있습니다. 나중에 집어 넣는 데이터가 먼저 나오는 스택(stack)과는 반대되는 개념입니다. 🔶 Queue 주요 동작 enQueue( ) : 큐에 데이터를 넣는 과정, Rear가 커진다. Push로 만들 수도 있지만 스택과 혼돈이 생길 수도 있으므로 지양한다. deQueue( ) : 큐에서 데이터를 빼는 과정, Front가 커진다. Pop으로 만들 수도 있지만 위와 마찬가지로..

Stack (스택)

📄 목차 ❓ Stack 이란 ❓ Stack 주요 동작 컴퓨터에서 Stack 실사용 예제 Stack 구현 ❓ Stack 이란 ❓ 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형적 자료구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸쉬(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 ‘당긴다’ 의 팝(pop)이라고 하는데, 이 때 꺼내지는 자료는 가장 최근에 푸쉬한 자료부터 나오게 된다. 이처럼 ‘나중에 넣는 값이 먼저 나오는 것’ 을 ‘LIFO’ 구조라고 한다. 🔶 Stack 주요 동작 pop( ) : 스택에서 가장 위에 있는 항목을 제거한다. push(item) : item 하나를 스택의 가장 윗 부분에 추가한다. peek( ) : ..