배열(array)는 여러 데이터를 연속된 메모리에 저장할 때 사용하는 자료 구조로, 동일한 자료형의 데이터를 한꺼번에 순차적으로 관리할 수 있게 해준다. 배열은 한번 생성하면 크기를 변경할 수 없다(데이터가 메모리에 정적, 연속적으로 할당됨). 배열은 인덱스(메모리 주
스택(stack)은 데이터를 입력된 순서대로 쌓고, 나중에 들어온 데이터부터 먼저 꺼내 사용하는 자료 구조이다.스택의 특징맨 마지막에 들어온 데이터가 가장 먼저 스택에서 제거되는 LIFO(Last in First Out) 원리가 작용한다.요소의 삽입/제거가 'top'이
동적 배열을 사용한 큐에서는 배열의 가장 앞에서부터 데이터를 꺼내오기 때문에, 데이터를 꺼낸 후 그 다음 인덱스의 데이터들을 모두 한 칸씩 이동시켜줘야 한다는 문제가 있다. 이 과정은 자료 하나를 꺼낼 때마다 O(n)의 시간 복잡도를 요구하기 때문에 매우 비효율적이다.
Hash table은 효율적인 탐색(빠른 탐색)을 위한 자료구조로써 key-value쌍의 데이터를 입력받는다. Hash function h에 key 값을 입력으로 넣어 얻은 해시값 h(k)를 위치로 지정하여 key-value 데이터 쌍을 저장한다. 저장, 삭제, 검색의
트리(tree)란 노드(데이터)를 거꾸로 뒤집힌 나무의 모양처럼 저장한 비선형 계층적 자료구조이다.트리는 다음과 같은 특징을 가지고 있습니다.하나의 루트 노드와 0개 이상의 하위 트리로 구성되어 있습니다.데이터를 순차적으로 저장하지 않기 때문에 비선형 자료구조입니다.트