Linked list란
각 노드가 데이터와 시퀀스의 다음 노드에 대한 링크를 포함하는 노드로 구성됩니다.
배열에 비해 동적 메모리 할당과 효율적인 삽입 및 삭제 작업이 가능합니다.
정리하자면 연결리스트는 포인터로 연결된 일련의 노드로 구성된 선형 데이터 구조입니다. 각 노드에는 데이터와 다음 노드에 대한 참조가 포함되어 있습니다. 배열과 달리 연결리스트는 노드가 메모리에 연속적으로 저장되지 않으므로 모든 위치에 요소를 효율적으로 삽입, 삭제할 수 있습니다.
배열과 연결 리스트의 차이점
배열 : 인접한 메모리 위치에 요소를 저장하여 저장된 요소에 대해 쉽게 계산할 수 있는 주소를 생성하고 이를 통해 특정 인덱스 요소에 더 빠르게 접근할 수 있습니다.
배열 | 연결리스트 |
인접한 위치 저장 | 인접한 위치에 저장되지 않음 |
사이즈가 고정적 | 사이즈가 동적 |
메모리 컴파일때 할당 | 메모리 런타임때 할당 |
연결리스트보다 더 적은 메모리 사용 | 데이터와 다음 노드 주소때문에 더 많은 메모리 사용 |
요소 접근 쉬움 | 요소 접근할려면 전체 요소를 순회 |
삽입 및 삭제에 시간이 오래 걸림 | 삽입 및 삭제가 빠름 |
연결 리스트의 기본 용어
헤드 : 연결 리스트의 헤드는 첫 번째 노드에 대한 포인터
노드 : 연결 리스트는 일련의 노드로 구성되어있습니다.
데이터 : 노드에 저장된 정보입니다.
다음 포인터 : 노드에 저장된 다음 노드를 가리키는 포인터입니다.
'알고리즘 > 자료구조' 카테고리의 다른 글
단일 연결 리스트(Singly Linked List) 3가지 추가 방법 (0) | 2024.04.19 |
---|---|
단일 연결 리스트(Singly Linked List) 특징, 장단점, 생성, 탐색 (0) | 2024.04.19 |
문자열 JAVA에서의 저장공간 (0) | 2024.04.19 |
문자열 문자 출력하는 JAVA에서 8가지 방법 (0) | 2024.04.19 |
문자열 연산하기(삽입, 수정, 삭제, 비교) (0) | 2024.04.19 |