구현

알고리즘

[알고리즘] C++로 DFS와 BFS 구현

C++로 DFS와 BFS 구현 사용할 예제 #include #include #include using namespace std; struct Vertex { // 데이터 }; vector vertices; vector adjacent; //dfs 방문 여부 vector visited; //bfs 발견 여부 vector discovered; void CreateGraph() { vertices.resize(6); adjacent = vector(6); adjacent[0].push_back(1); adjacent[0].push_back(3); adjacent[1].push_back(0); adjacent[1].push_back(2); adjacent[1].push_back(3); adjacent[3].pu..

자료구조

[자료구조] STL로 구현하는 그래프

STL로 구현하는 그래프 그래프란 * 동그라미 = vertex = 정점 화살표 = edge = 간선 * 언제 사용하는가? >> 연결관계가 중요할 때 and 연결관계가 복잡하게 얽혀있을 때 * 그래프 특성 추가 >>간선 방향의 유무 (양방향 or 일반통행) >>간선 가중치 유무 (각 간선의 값이 동일하지 않다.) 정점 (vertex) struct Vertex { // 데이터 // 연결관계 }; * vertex는 구조체, 클래스 등으로 구현할 수 있다. * vertex는 (데이터 + 연결관계)를 가지고 있어야 한다. * 그래프에는 많은 vertex가 있으므로 배열등으로 묶어서 관리한다. 간선 (edge) * 간선은 보통 해당 vertex에 종속된다. (간선이 혼자 있을 수는 없으니까) * vertex 내부에..

C++

[C++] 직접 만들어보는 std::list 라이브러리

직접 만들어보는 std::list 라이브러리 선행 * 이 코드는 STL에 list를 모방한 것이다. Node, List, Iterator에 대한 개념이 필요하다. [C++] STL - Standard Template Library STL - Standard Template Library STL * C++에서 제공하는 표준 라이브러리이다. * STL을 사용해 기본적인 자료구조를 구현, 사용할 수 있다. (리스트, 큐, 스택, 맵, 셋, 등등...) * 이러한 저장 공간을 Container라 licktwice.tistory.com 코드 #include #include using namespace std; template class Node { public: Node() : _prev(nullptr), _ne..

C++

[C++] 직접 만들어보는 std::vector 라이브러리

직접 만들어보는 std::vector 클래스 선행 * 이 코드는 동적 배열을 모방한 것이다. [C++] STL - vector vector 라이브러리 선행 * vector 라이브러리는 STL 중에 하나이다. [C++] STL - Standard Template Library STL - Standard Template Library STL * C++에서 제공하는 표준 라이브러리이다. * STL을 사용해 기본적인 자료구조 licktwice.tistory.com 코드 #include #include using namespace std; template class Vector { public: Vector() { } ~Vector() { if (_data) delete[] _data; } void push_ba..

스누징어
'구현' 태그의 글 목록