자료구조 3

LinkedList - Java

지난 포스트인 ArrayList를 이어서 이번에는 LinkedList에 대해서 정리해보겠습니다.LinkedListJava 컬렉션 프레임워크(Collection Framework) 중 하나로, 노드 기반으로 구현된 자료구조입니다.각 요소(Node)가 **데이터(data)**와 **다음 노드(next)**에 대한 참조를 가지고 있어, 삽입과 삭제가 효율적입니다.주요 특징자료구조내부적으로 **노드(Node)**를 연결하여 구성크기 조정삽입/삭제할 때 별도 크기 확장이 필요 없음 (공간은 노드 단위로 동적으로 사용)접근 속도인덱스 접근 시 느림 (O(N)) (앞에서부터 순차 탐색)삽입/삭제 속도처음/끝 삽입·삭제는 빠름 (O(1)), 중간은 느림 (O(N))중복 허용O (같은 값을 여러 번 저장 가능)null ..

자료구조 2025.04.27

ArrayList - Java

이 글을 시작으로 알고리즘에서 자주 사용되는 자료구조의 주요 메소드를 정리하는 포스트를 작성해보겠습니다. 이번 포스트에서는 ArrayList 자료구조에 대해 정리해보겠습니다. ArrayListArrayList는 Java 컬렉션 프레임워크(Collection Framework) 중 하나로, 배열 기반으로 구현된 동적 크기 배열(Dynamic Array) 입니다.배열과 비슷하지만, 크기를 자동으로 조정해주기 때문에 요소를 추가하거나 삭제할 때 편리합니다.주요 특징자료구조내부적으로 배열(Array) 사용크기 조정배열이 꽉 차면, 자동으로 1.5배 또는 2배 크기로 확장접근 속도인덱스로 접근 시 빠름 (O(1))삽입/삭제 속도중간 삽입/삭제는 느림 (O(N)) (이동 필요)중복 허용O (같은 값을 여러 번 저장..

자료구조 2025.04.27

자료구조 정의

자료구조란사전적인 의미는 자료(Data)의 집합의 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것입니다.자료구조는 다음 그림과 같이 단순 자료구조(Primitive Data Structure)와 복합 자료구조(Non-Primitive Data Structure)로 나누어 집니다.복합 자료구조는 다시 선형 자료구조(Linear Data Structure)와 비선형 자료구조(Non-Linear Data Structure)로 구분됩니다.선형 자료구조선형 자료구조는 다음 그림처럼 데이터 요소를 순차적으로 연결하는 자료구조로, 구현하기 쉽고 사용하기도 쉽습니다. 배열(Array)과 링크드 리스트(Linked List), 스택..

자료구조 2025.04.27