본문 바로가기

algorithm

(35)
자료구조 : 스택(Stack) 1. 스택의 정의 스택(stack)은 제한적으로 접근할 수 있는 나열 구조이다. 그 접근 방법은 언제나 목록의 끝에서만 일어난다. 끝먼저내기 목록(Pushdown list)이라고도 한다. 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO - Last In First Out)으로 되어 있다. 자료를 넣는 것을 '밀어넣는다' 하여 푸시(push)라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝(pop)이라고 하는데, 이때 꺼내지는 자료는 가장 최근에 보관한 자료부터 나오게 된다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO 구조라고 한다. 가장 가까운 값을 O(1)만에 찾아오는 특징이 있다. 2. 스택의 함수 push : 스택에 데이터를 추가 pop : 스택에서 데이터를 삭제 top..
알고리즘 입출력, 손풀기 문제 입출력은 보통 8가지 경우가 있다. boj.kr에서 A+B 문제를 찾아볼수 있다. https://www.acmicpc.net/problem/1000 https://www.acmicpc.net/problem/2558 https://www.acmicpc.net/problem/10950 https://www.acmicpc.net/problem/10951 https://www.acmicpc.net/problem/10952 https://www.acmicpc.net/problem/10953 https://www.acmicpc.net/problem/11021 https://www.acmicpc.net/problem/11022 EOF처리 C : while(scanf("%d %d", &a, &b) ==2) //scan..
깊이 우선 탐색(DFS, Depth-First Search) ● 1. 깊이 우선 탐색의 개념● 2. 깊이 우선 탐색의 특징● 3. 깊이 우선 탐색의 구현그래프 탐색이란그래프 안에 어떤 버텍스들이 있는지 알고 싶을 때 사용한다.DFS는 버텍스의 자식들을 먼저 탐색하고, BFS는 버텍스의 형제들을 먼저 탐색한다.ex) 미로 탈출, 최단거리 탐색, 특정 지점에서 다른 점으로 갈 수 있는지 등의 문제를 해결할때 사용하는 알고리즘 1. 깊이 우선 탐색의 개념 깊이우선 탐색 (Depth First Search) : 탐색 트리의 특정 노드를 방문하여 확인한 후 그 노드와 연결된 자식노드 중에서 우선 순위가 가장 빠른 하나를 선택해 방문하며 그후 더 이상 방문할 곳이 없으면 이전 상태로 되돌아가는 탐색 방법이다.이때 탐색 과정이 한없이 깊이 진행되는 것을 막기 위해 깊이 제한(..