
📌 원형 연결 리스트 > * 원형으로 순환되는 리스트 > * 일반 연결리스트에서 마지막 노드가 nullptr이 아닌 첫번째 노드와 연결되는 리스트

📌 양방향 연결 리스트 > * 노드를 가리키는 포인터 : * head, * tail >* 노드 안에 이전노드를 가리키는 * previous

📌 단일 연결 리스트 > * 하나의 노드와 다음 노드를 가리키는 포인터로 구성 > * 데이터에 접근하기 위해서는 head부터 순차적으로 이동하여 찾아야함

📌 스택 (Stack) > * 데이터가 일렬로 나란히 저장되어있는 선형구조 > * 마지막에 들어온 데이터가 첫번째로 나가는 LIFO(Last In First Out) 구조 (후입선출 구조) > * 그림을 보면 프링글스 통을 예시로 생각하면 쉽다 (맨 위부터 먹을 수

* 데이터가 뒤에서 들어오고 데이터가 앞에서 빠져나가는 구조 * 먼저 들어온 데이터가 먼저 나가는 FIFO(First In First Out)구조

📌 원형 큐 (Circle Queue) > * 선형이 아닌 원형의 방식으로 선형큐와 동일한 FIFO구조 > * front변수와 rear변수가 있다

필요한 파일을 가져오기 위한 통로인 스트림을 거쳐서 파일을 입출력

벡터 > 배열과 비슷하며, 크기가 동적으로 확장될 수 있는 동적배열 기반의 구조이다. > 배열처럼 인덱스로 요소에 접근이 가능하다. > 벡터안에 데이터가 꽉 차면, 벡터의 크기를 2배로 늘린 뒤 원래의 데이터 값을 복사하여 넣어주고, 새 값을 추가해야한다

문자열을 다루기 위한 매우 중요한 자료형이다동적으로 메모리를 할당하여 크기를 조정하기 때문에 문자열의 길이에 상관이 없다

해시테이블 > 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조> KEY & VALUE 형태로 저장

이진 트리 > 각 노드가 최대 2개의까지의 자식노드를 가진 트리 > 트리지만, 1차원 배열로 표현할 수 있다는 특징이 있다

Heap 힙을 저장하는 건 주로 배열로 구성한다 > * 완전 이진트리의 한 종류로 우선순위 큐를 구현할 수 있는 자료구조 > * 중복된 값을 허용한다 ( 이진탐색트리에선 불가하다) > * 주로 최대값과 최소값을 찾아낼때 사용된다

이진 탐색 트리 > 이진트리 기반의 탐색을 위한 자료구조이다 > 이진트리의 크기는 left 모든 서브 트리에서 적용되는 조건이다**

그래프 **1. 그래프의 정점을 2차원 배열로 표현하는 인접행렬 연결리스트로 표현하는 인접리스트** 또한 그래프는 무방향 그래프와 방향그래프로도 나뉘는데 무방향 그래프: 양방향으로 이동이 가능하고 인접행렬 구조에서 대칭행렬을

자료구조란? > data structure : 자료를 가지고 있는 방법 > 쿼리(query): 자료 구조에 값을 넣어 관리하거나 자료 구조에서 원하는 값을 꺼내는 요구

그래프 인접행렬 그래프의 정점을 2차원 배열로 표현하는 인접행렬 무방향 그래프: 양방향으로 이동이 가능하고 인접행렬 구조에서* 대칭행렬을 *이룬다 2차원 배열안의 모든 정점들의 간선 정보가 있기 때문에 두 정점을 연결하는 간선을 조회할때 시간복잡도가 O(1) 간선의 수와 무관하게 무조건 n² 크기의 2차원 배열이 필요 모든 간선의 수를 알아내려면 인접행렬 ...

개방주소법 (Open Addressing) : 1. 선형탐색 2. 이차탐색