목록Computer (242)
Machineboy空

https://blog.naver.com/jhc9639/222289089015 [알고리즘 강의] 2주차. 그래프이론, 인접행렬, 인접리스트, DFS, BFS, 트리순회 이번주차는 그래프이론과 DFS(깊이우선탐색), BFS(너비우선탐색) 그리고 트리순회인 preorder, inord... blog.naver.com 트리 순회(Tree traversal)은 트리 구조에서 각각의 노드를 정확히 한 번만 체계적으로 방문하는 과정 노드를 방문하는 순서에 따라 후위 순회 (postorder traversal) 전위 순회 () 중위 순회 () 보통 설명할 때 이진트리 기반으로 설명하지만 다른 모든 트리에서 일반화시킬 수 있다. *이진트리(binary tree) : 각각의 노드와 자식 노드 수가 2개 이하로 구성되어 ..

탐색이란, 주어진 데이터에서 자신이 원하는 데이터를 찾아내는 알고리즘이다. 즉, 주어진 데이터 성질(정렬 데이터 또는 비정렬 데이터)에 따라 적절한 탐색 알고리즘을 선택하는 것이 중요하다. https://blog.naver.com/jhc9639/222289089015 [알고리즘 강의] 2주차. 그래프이론, 인접행렬, 인접리스트, DFS, BFS, 트리순회 이번주차는 그래프이론과 DFS(깊이우선탐색), BFS(너비우선탐색) 그리고 트리순회인 preorder, inord... blog.naver.com 그래프를 탐색할 때 쓰는 알고리즘들 깊이우선탐색(DFS, Depth First Search) 어떤 노드부터 시작해 인접한 노드들을 재귀적으로 방문 방문한 정점은 다시 방문하지 않으며, 각 분기(가지)마다 가능..

https://blog.naver.com/jhc9639/222289089015 [알고리즘 강의] 2주차. 그래프이론, 인접행렬, 인접리스트, DFS, BFS, 트리순회 이번주차는 그래프이론과 DFS(깊이우선탐색), BFS(너비우선탐색) 그리고 트리순회인 preorder, inord... blog.naver.com 연결된 컴포넌트 (connected component) 연결된 하위 그래프, 연결된 하나의 덩어리 이 덩어리는 연결된 컴포넌트에 속한 모든 정점을 연결하는 경로가 있다. Flood Fill (seed fill) 각 덩어리에 속한 vertex에 같은 숫자를 부여함

https://blog.naver.com/jhc9639/222289089015 [알고리즘 강의] 2주차. 그래프이론, 인접행렬, 인접리스트, DFS, BFS, 트리순회 이번주차는 그래프이론과 DFS(깊이우선탐색), BFS(너비우선탐색) 그리고 트리순회인 preorder, inord... blog.naver.com 4방향(상하좌우)을 탐색! dy[] = {-1,0,1,0}; dx[] = {0,1,0,-1}; // dy : direction y, ny : next y for(i=0 ~4) ny = y + dy[i]; nx = x + dx[i]; 예제 Q. {0,0} 좌표에서 dy, dx를 만들어 4방향 (상하좌우)을 탐색하며 좌표를 출력하시오. #include using namespace std; const..

4.6 Inheritance Inheritance allows for class to inherit all member functions and data from a base class into a derived class. Generic to Specialized A base class is a generic form of a speciallized, derived class. without having to rewrite logic, Initialization When a derived class is initialized, the derived class must construct the base class: Cube must construct Shape By default, uses default..

4.5 Templates and Classes C++ allows for us to use the power of templates in building our own classes and functions. Templated Functions A template variable is defined by declaring it before the beginning of a class or function: //class template class List{ private: T data; }; //function template int max(T a, T b){ if(a >b) {return a;} return b; } Compile-TIme Binding Templated variables are che..

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 문제요약 connected component 개수 찾기 난이도 Silver 2 풀이 포인트 깊이우선탐색(DFS) 리프 노드에 닿을 때까지 재귀 실행하는 특성을 이용하여, 연결 요소(coonnected component)의 개수를 구할 수 있음 2차원 좌표 탐색에 DFS 사용시, 매개변수만 두개로 늘려주어 2차원 배열 요소 접근하면 됌. fill을 이용한 초기화 fill(array_name, array_name..

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제요약 N*M 크기의 배열로 표현되는 미로. (1,1)에서 출발하여 (N,M)의 위치로 이동할 때 지나야 하는 최소 칸의 수 난이도 Silver 1 풀이 포인트 너비우선탐색(BFS) 한 정점에서 다른 정점으로의 최단 거리를 구할 때 적합. queue의 선입선출 특성을 활용하여 인접한 것을 차례로 push, 먼저 들어온 것을 pop하는 로직으로 탐색! 2차원 좌표를 1차원 노드로 치환하여 생각하기. pair tie(int, in..