cpp 4

Graph (DFS, BFS) 자료구조 (C++)

" class vertex " - Graph의 정점을 저장하는 단위로 쓰이는 객체이다. 1. 변수 - int data : 정점의 data를 저장한다. - int degree : 정점의 인접한 vertex 수를 저장한다. - bool visited : 탐색시에 정점이 탐색되었는지 여부를 저장한다. - vector adj_list : 정점에 인접한 vertex를 vector로 저장한다. 2. 함수 - vertex(int data) : 셍성자 함수이며, data를 받아와 생성한다. 3. class vertex ADT class vertex { public: int data; int degree; bool visited; vector adj_list; vertex(int data) { this->data = d..

자료구조 2020.12.17

Hash Table 자료구조 (C++)

" class Cell " - key, value 값을 저장하는 단위로 쓰이는 객체이다. 1. 변수 - int key : key 값을 저장한다. - int value : value 값을 저장한다. - int flag : value값의 유뮤와 별개로 값이 있었는지 여부를 나타내는 값이 필요하다. 이를 저장한다. -> ISITEM(0), NOITEM(1), AVAILABLE(2) 로 저장한다. 2. 함수 - Cell() : 생성자 함수로, 초기화 작업을 한다. 3. class Cell ADT class cell { public: int key; int value; int flag; cell() { this->key = -1; this->value = -1; this->flag = NOITEM; } }; " ..

자료구조 2020.12.16

Binary Search Tree 자료구조 (C++)

" class Node " - Tree에 들어갈 데이터를 Node로 저장한다. 1. 변수 - int data : 데이터 저장한다. - Node* parent : 부모Node를 가르키는 포인터를 저장한다. - Node* leftChild : 왼쪽 자식을 가르키는 포인터를 저장한다. - Node* rightChild : 오른쪽 자식을 가르키는 포인터를 저장한다. 2. 함수 - 각 변수에 대해 get, set 함수가 필요하다 3. class Node ADT class Node { private: int data; Node* parent; Node* leftChild; Node* rightChild; public: Node() {//생략 } Node(int data) {//생략 } Node* getParent(..

자료구조 2020.12.16

Heap 기반 Priority Queue 자료구조 (c++)

" class Heap " 1. 변수 - vector v : heap에 값을 저장하기 위한 vector가 필요하다. - int root_idx : 보통 heap의 root index는 0이 아닌 1이 들어간다. 이를 저장하기 위한 변수이다. - int heap_size : 현재 heap에 몇가지 내용이 들어가있는지를 저장한다. 이는 마지막위치 index로 쓰이기도 한다. - int direction : Heap 구조가 MinHeap인지, MaxHeap 인지 구별점이 필요하다. 또한, upHeap 등에서 비교시에도 사용된다. 2. 함수 - int size() : heap_size를 반환한다. - int isEmpty() : heap_size가 0인지 여부를 반환한다. - void swap(int idx1,..

자료구조 2020.12.15