자료구조(資料構造, 영어: data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 조직, 관리, 저장을 의미한다. 위키백과자료구조(Data Structure)를 공부하는 대상의 수준을 <윤성우, 열혈 자료구조>에서는 아래와 같이
후입선출(LIFO, Last In First Out) 구조이다.스택은 한 쪽 끝에서만 자료를 삽입 / 제거 가능한 구조이다. 맨 위에 자료를 삽입하는 연산을 push 라고 부르고,맨 위의 자료를 삭제하는 연산을 pop 이라고 부른다.C++ STL기본 함수로는 push
선입선출(FIFO, First In First Out) 구조이다.큐는 한 쪽 끝에서는 삽입만 다른 한 쪽 끝에서는 제거만 가능한 구조이다.맨 뒤에 자료를 삽입하는 연산을 enQueue 라고 부르고,맨 앞에 자료를 제거하는 연산을 deQueue 라고 부른다.C++ STL
Euler Tour Technique에 대해 간단히 설명하고 넘어가려고 한다.아래와 같은 트리가 있다고 하자루트 노드부터 DFS를 돌려서 각 노드가 방문되는 순서로 번호를 붙여준다.번호를 붙여주게 되었을 때 아래와 같은 Table이 나온다.노드의 탈출 시각까지 저장을
솔브닥 class 7에 있는 문제를 둘러보다가 열혈강호 시리즈를 풀게 되었다. 우선 이 시리즈는 Bipartite Matching을 사용하게 되는데, 간선 용량이 1인 Network Flow, Maximum Flow로 볼 수 있다. 이러한 문제는 일반적으로 Edmond
동아리 내에서 진행되는 알고리즘 스터디 정리본입니다. delena0702 codingstarfish님과 함께 진행하였습니다.첫 만남을 통해 스터디의 가이드 라인을 잡았다.각종 대회(팀 대회 및 개인 대회) 수상새로운 알고리즘 학습PS 대회 정보 공유선정된 문제를 스터디
동아리 내에서 진행되는 알고리즘 스터디 정리본입니다. delena0702 codingstarfish님과 함께 진행하였습니다.dldyouETT(Euler Tour Technique) Segment Tree트리의 경로에 대한 쿼리를 빠르게 처리하기 위해 -> 세그먼트 트리
배열 $A$가 주어졌을때, $i\\lt j$이면서 $Ai\\gt Aj$를 만족할 때를 Inversion이라고 부른다.Inversion Counting 은 이 Inversion의 개수를 세는 문제이다.단순하게 생각해보면 이중 반복문을 통해 $O(N^2)$의 시간복잡도로