입력값 / 출력값Bottom-up / Top-down데이터 객체: ADT(abstract data types)연산: 알고리즘C 언어: 메모리 주소를 표현하는 방법. 객체가 담긴 주소 참조&: 주소 연산자\*: 참조 연산자데이터 입력값에 따라 배열 크기가 달라지는 경우
연속된 메모리 집합인덱스 및 값으로 구성새로운 배열 생성, 값 확인, 값 저장 등구조체 내 private으로 배열 선언, 외부 접근을 통제했다!C 언어: malloc, calloc 함수를 통해 특정한 양의 메모리를 할당한다.파이썬, 스위프트 등 대부분의 언어에서는 특정
Stacks and Queues 스택 LIFO(Last-In-First-Out) 구조의 삽입과 삭제 기능으로 이루어진 연속 배열 E.g.) 프로그램 런타임 실행 중 프로세스 함수 호출 - 스택(함수 호출 시 스택 형식으로 쌓이는 호출된 함수들) 동적 할당 스택 스
기존 배열은 원소가 고정된 거리에 따라 배치되어 있기 때문에 임의의 원소를 삽입하거나 삭제하는 작업 비용 존재원소가 메모리 내 어디에서나 위치 가능원소 접근 → 리스트 내 다음 원소의 위치 또는 주솟값을 가지고 있음위 연결 리스트의 push, append, remove
Tree 트리의 정의 다음과 같은 한 개 이상의 노드의 유한한 집합 루트 노드 1개 루트의 서브트리 > 트리의 재귀적 구조를 이해하자! 트리 관련 용어 Node: 노드의 정보 + 다른 노드로 향하는 브런치 Degree: 노드의 서브트리 개수 Degree of a t
딕셔너리의 탐색, 삽입, 삭제를 $O(1)$에 가능하게 하는 자료구조hash table이라 불리는 테이블에 딕셔너리 쌍(키, 값)이 저장 → b개의 버킷으로 구분(ht\[0], .., ht\[b-1])버킷: 개당 s 개의 슬롯을 가지고 있음. 각 슬롯은 하나의 딕셔너리
Priority Queue 우선순위 큐: 우선순위를 기준으로 원소를 정렬한 자료구조 Single-Ended PQ 최대 힙, 최소 힙을 통해 각각 구현 가능 → 정렬 기준에 대한 한 가지 종류의 우선순위 큐 반환. end가 그 우선순위를 가장 만족하는 루트 노드를 가리