스택(Stack) 은 데이터를 일시적으로 저장하기 위해 사용하는 자료구조다.데이터의 입출력은 후입선출(LIFO: Last In First Out) 방식을 사용하고, 한 쪽 끝에서만 자료를 넣고 빼는 작업이 이루어진다.스택(Stack) 은 다음과 같은 구조로 나누어서 진
`큐(Queue)` 는 스택과 마찬가지로 데이터를 일시적으로 저장하기 위해 사용하는 자료구조다.한 쪽에서만 데이터의 삽입, 삭제가 이루어졌던 stack과 달리 큐는 선입선출(FIFO: First In First Out) 방식으로 양쪽 끝에서 데이터의 삽입과 삭제가 각각
"추가와 삭제가 반복되는 로직이라면 어떻게 해야할까?"배열을 이용하면 시간복잡도가 커지므로 요소 추가나 삭제가 반복되는 로직은 배열 사용을 권장하지 않는다. 배열은 탐색이 많을 때 유용한 도구이다.그럴 때 적합하기 위해서 사용하는 것이 연결리스트다.연결 리스트(Link
해시 테이블(Hash Table) 이란 키와 값을 받아 해싱(Hashing)하여 나온 index에 값을 저장하는 선형 자료구조다.Hash Table삽입은 O(1)이며 키를 알고 있다면, 삭제 탐색도 O(1)로 수행한다.\`해시 함수 는 입력 받은 값을 특정 범위 내 숫
자료 구조(Data Structure) 는 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표로 상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있다.자료구조는 '일차원인 컴퓨터 메모리를 현실에 대응되도록 구조를 만든 것'이라
그래프(Graph) 는 정점과 정점 사이를 연결하는 간선으로 이루어진 비선형 자료구조다. 정점 집합과 간선 집합으로 표현할 수 있다.그래프(Graph)정점은 여러 개의 간선을 가질 수 있다.크게 방향 그래프와 무방향 그래프로 나눌 수 있다.간선은 가중치를 가질 수 있다
트리(Tree) 는 방향 그래프의 일종으로 정점을 가리키는 간선이 하나밖에 없는 구조를 가지고 있다.트리(Tree)하나의 루트에서 하위로 뻗어나가는 구조다.Root가장 상위에 존재하는 정점이다.Node각 정점을 의미한다.Leaf Node더 이상 자식이 없는 정점을 의미
Heap을 들어가기 전, 우선순위 큐를 알고 있어야 이해하기가 쉽다.우선순위 큐 는 FIFO의 특징을 가지고 있는 일반적인 큐와 달리 우선 순위가 높은 요소가 먼저 나가는 큐다. 주의할 점은 우선순위 큐는 자료구조가 아닌 개념이라는 것이다. 우선순위 큐를 구현하는 방법