본문 바로가기

Study/DataStructure

Tree(BST/Red-Black Tree) RBT를 이해하기 위해서는 BST(Binary Serach Tree)를 먼저 이해해야한다. https://github.com/applejin0105/DataStructure/blob/e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf/Header/BST.h DataStructure/Header/BST.h at e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com BST, 이진 탐색 트리의 특징은 다음과 같다.각 노드는 최대 두 .. 더보기
HashTable https://github.com/applejin0105/DataStructure/blob/main/Header/HashTable.h DataStructure/Header/HashTable.h at main · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com 특징Chaining, 키 값 중복 가능.Chaining 값 개별 삭제 가능.Get/GetFront/GetBack을 통해 개별 원소 불러오기 가능.C++ 스타일 반복자 지원 (begin(), end()) : IteratoGet의 경우, 모든 요소를 불러올 때 최대 2.. 더보기
LinkedList https://github.com/applejin0105/DataStructure/blob/e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf/Header/LinkedList.h DataStructure/Header/LinkedList.h at e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com특징이중 연결 리스트 구조 (양방향 노드 연결).앞/뒤 삽입 모두 가능 (AddFront, AddBack).C++ 스타일 반복자 지원 .. 더보기
Queue https://github.com/applejin0105/DataStructure/blob/e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf/Header/Queue.h DataStructure/Header/Queue.h at e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com특징배열 기반의 원형 큐 구조.선입선출(FIFO) 방식으로 데이터 처리.내부 용량 자동 확장 및 축소.C++ 스타일 반복자 지원 (begin(), end.. 더보기
Stack https://github.com/applejin0105/DataStructure/blob/e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf/Header/Stack.h DataStructure/Header/Stack.h at e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com특징배열 기반의 스택 구조.후입선출(LIFO) 방식으로 데이터 관리.내부 용량 자동 확장 및 축소.C++ 스타일 반복자 지원 (begin(), end().. 더보기
Array https://github.com/applejin0105/DataStructure/blob/e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf/Header/Array.h DataStructure/Header/Array.h at e1c6dde7f506c76e6fc676a15f2f92fb46fda7cf · applejin0105/DataStructure자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com특징T 타입의 객체를 저장할 수 있는 동적 배열삽입/삭제/검색 기능 제공내부 용량 자동 확장 및 축소.C++ 스타일 반복자 지원 (begin(), end.. 더보기
자료구조 구현해보기 https://github.com/applejin0105/DataStructure GitHub - applejin0105/DataStructure: 자료구조 연습자료구조 연습. Contribute to applejin0105/DataStructure development by creating an account on GitHub.github.com 사용언어: C++ 목표ArrayQueue(선형)StackLinkedListHashTable (충돌처리 포함)Tree (이진 탐색 트리 -> AVL, Red-Black)Heap (Min/Max)Graph (인접행렬/인접리스트) 더보기
[Data Structure] Union-Find 유니온 파인드 그래프 알고리즘의 일종으로, 두 노드가 같은 그래프에 속하는지 판별하는 알고리즘이다. 이는 다른 말로 서로소 집합 혹은 Disjoint-Set이라 부른다. 즉, 유니온 파인드 연산은 그래프에서 특정 두 노드가 서로 연결되어 있는지 아니면 연결되지 않았는지 판별하기 위한 알고리즘이다. 유니온 알고리즘은 기본적으로 배열을 이용한다. 각각의 노드들은 배열에 자기 자신의 값을 가지고 있다. 이상태에서 노드는 단절된 상태이다. 만일, 123과 67을 연결하는 간선을 추가하고 싶다면, 2번 배열은 1번에 연결되므로 값을 1로 변경, 3번 배열은 값 2번 배열에 연결되므로 값을 2로 변경한다. 6과 7도 마찬가지로 이를 시행한다. 위 처럼 여러 노드를 연결하여 그래프를 구성하는 방법도 위와 동일하다. .. 더보기