Linked List 무엇인가(연결 리스트와 배열의 차이)

Linked list란

각 노드가 데이터와 시퀀스의 다음 노드에 대한 링크를 포함하는 노드로 구성됩니다.

배열에 비해 동적 메모리 할당과 효율적인 삽입 및 삭제 작업이 가능합니다.

정리하자면 연결리스트는 포인터로 연결된 일련의 노드로 구성된 선형 데이터 구조입니다. 각 노드에는 데이터와 다음 노드에 대한 참조가 포함되어 있습니다. 배열과 달리 연결리스트는 노드가 메모리에 연속적으로 저장되지 않으므로 모든 위치에 요소를 효율적으로 삽입, 삭제할 수 있습니다.

 

배열과 연결 리스트의 차이점

배열 : 인접한 메모리 위치에 요소를 저장하여 저장된 요소에 대해 쉽게 계산할 수 있는 주소를 생성하고 이를 통해 특정 인덱스 요소에 더 빠르게 접근할 수 있습니다.

 

배열 연결리스트
인접한 위치 저장 인접한 위치에 저장되지 않음
사이즈가 고정적 사이즈가 동적
메모리 컴파일때 할당 메모리 런타임때 할당
연결리스트보다 더 적은 메모리 사용 데이터와 다음 노드 주소때문에 더 많은 메모리 사용
요소 접근 쉬움 요소 접근할려면 전체 요소를 순회
삽입 및 삭제에 시간이 오래 걸림 삽입 및 삭제가 빠름

 

연결 리스트의 기본 용어

헤드 : 연결 리스트의 헤드는 첫 번째 노드에 대한 포인터

노드 : 연결 리스트는 일련의 노드로 구성되어있습니다.

데이터 : 노드에 저장된 정보입니다.

다음 포인터 : 노드에 저장된 다음 노드를 가리키는 포인터입니다.