[선형 데이터 구조] LinkedList
·
🧠 Computer Science/Data Structure
LinkedList자바의 Linked List는 ArrayList와 같이 인덱스로 접근하여 조회 / 삽입이 가능하지만 내부 구조는 완전히 다르게 구성되어 있다는 점이 특징이다. ArrayList는 내부적으로 배열을 이용하여 메서드로 이리저리 조작이 가능하게 만든 컬렉션이라면, Linked List는 노드(객체) 끼리의 주소 포인터를 서로 가리키며 참조함으로써 이어지는 구조이다.위 그림을 보면 LinkedList는 각기 노드마다 화살표로 연결되어 리스트 형태로 나열되어 있는 것을 볼 수 있다. 여기서 노드는 하나의 객체라고 보면된다. 즉, 객체를 만들면 객체의 주소가 생기게 되는데, 노드마다 각기 객체의 주소를 서로 참조함으로서 연결 형태를 구성하는 것이다.단일 노드를 그림과 코드로 표현한다면 다음과 같이..
[선형 데이터 구조] ArrayList
·
🧠 Computer Science/Data Structure
ArrayList리스트는 배열의 특별한 유형이라고 할 수 있다. 그 중 ArrayList는 배열의 상위호환 버전 정도로 이해하면 된다. 기존의 배열만으로는 자료를 담고 관리하는데 약간 불편함이 있어서 나온 것이 ArrayList 이다. 배열은 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료구조이다. 배열의 이러한 특성은 특정 상황에서 큰 장점이 된다. 예를 들어, 데이터의 크기가 미리 알려져 있고 변하지 않는 경우, 또는 빠른 랜덤 접근이 필요한 경우에 배열은 매우 효과적이다. 그러나 배열의 크기를 변경하기 어렵다는 점은 동적인 데이터 처리에 제한이 될 수 있다. 리스트는 데이터 요소들을 논리적 순서에 따라 저장하여 배열보다 더 유연한 자료구조이다. ArrayList는..
[선형 데이터 구조] 배열(Array)
·
🧠 Computer Science/Data Structure
개요배열(Array)은 컴퓨터 과학에서 가장 기본적이고 널리 사용되는 선형 데이터 구조이다. 데이터 구조가 선형이라는 것은 데이터 구조를 구성하는 요소들이 서로 인접해 순차적인 방식으로 정렬되어 있음을 뜻한다. 이 구조는 데이터를 순차적으로 저장하고 접근하는 방식을 제공하며, 많은 알고리즘과 프로그램의 기반이 된다. 배열은 동일한 데이터 타입의 요소들을 연속된 메모리 공간에 저장하는 자료구조이다. 배열의 주요 특징은 다음과 같다. 고정된 크기: 배열은 생성 시 크기가 정해지며, 이후 변경이 어렵다. 인덱스 기반 접근: 각 요소는 0부터 시작하는 인덱스를 통해 직접 접근할 수 있다. 빠른 접근 속도: 인덱스를 통한 요소 접근은 O(1)의 시간 복잡도를 가진다. 메모리 효율성: 연속된 메모리 공간을 사..
Developer Quarterly
'🧠 Computer Science/Data Structure' 카테고리의 글 목록