"자료구조"는 데이터를 저장하고, 효율적으로 관리 및 활용할 수 있도록 구조화하는 방법을 뜻합니다. \-> 데이터를 잘 조직화하면 데이터 처리의 속도와 효율성이 크게 향상됩니다. 이는 프로그램의 성능을 좌우할 수 있기 때문에, 자료구조는 코딩과 소프트웨어 개발에서 매우
1. 스택 (Stack) 스택은 LIFO (Last In First Out) 구조를 따르는 자료구조로, 마지막에 들어간 데이터가 가장 먼저 나오는 구조입니다. 즉, 데이터를 쌓아 올린다고 생각할 수 있으며, 마지막에 추가한 데이터부터 꺼낼 수 있습니다. 쉽게 말해,
계층적 구조를 가진 형태의 그래프1\. 루트 (Root):o 트리의 최상위 노드입니다. 트리는 하나의 루트 노드를 가지며, 모든 노드는 루트에서 시작하여 내려가는 구조를 가집니다.2\. 노드 (Node):o 트리의 구성 요소로, 각각의 노드에는 데이터가 저장됩니다.o
해시 테이블과 해싱의 기본 개념 1. 해시 테이블 (Hash Table) o 해시 테이블은 키(Key)와 데이터 값(Value) 쌍을 저장하는 자료구조로, 각 키를 해시 함수(Hash Function)를 통해 특정 위치(index)로 변환하여 빠르게 값에 접근할 수
시간 복잡도 ㅤ 자료구조에서 시간복잡도(Time Complexity)는 알고리즘이 수행되는 데 걸리는 시간을 입력 크기에 따라 평가하는 방법입니다. 이는 알고리즘의 효율성을 평가하는 중요한 기준 중 하나로, 입력의 크기(n)가 커질수록 알고리즘이 얼마나 빠르게 동작하
동적 프로그래밍(Dynamic Programming, DP)의 기초동적 프로그래밍(DP)은 문제를 작은 하위 문제로 나누어 해결하고, 하위 문제의 결과를 재활용하여 전체 문제를 효율적으로 해결하는 기법입니다. DP는 보통 중복 계산을 피하기 위해 하위 문제의 결과를 저