cheoly's language study blog

'연결리스트'에 해당되는 글 1건

  1. 자료구조 연결리스트 개념, 장점, 단점, 배열과의 차이 1

자료구조 연결리스트 개념, 장점, 단점, 배열과의 차이

프로그래밍/C언어
반응형
SMALL

연결리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조입니다.
각 노드는 다음 노드를 가리키는 포인터를 포함합니다.
다음 노드를 가리키는 포인터는 다음 노드의 주소를 값으로 가지고 있습니다.
각 노드의 포인터 변수는 다음 노드의 데이터의 주소를 값으로 가진다.
또한 각 포인터 변수의 주소도 따로 존재한다.

연결 리스트의 종류로는 단일 연결 리스트, 이중 연결 리스트 등이 있습니다.
연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖습니다.
그러나 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 내는데에는 O(n)의 시간이 걸리는 단점도 갖고 있습니다.

연결 리스트는 다음과 같은 장점과 단점을 가지고 있습니다.

* 장점
    * 데이터의 추가와 삭제가 용이하다.
    * 데이터의 삽입과 삭제가 배열보다 빠르다.
    * 데이터의 중복이 없다.

* 단점
    * 데이터의 검색이 느리다.
    * 메모리 공간이 많이 필요하다.
    * 데이터의 순서가 중요하다.

연결 리스트는 다음과 같은 분야에서 사용됩니다.

##스택
    * 스택은 데이터를 쌓아 올리는 자료 구조입니다.
    * 연결 리스트는 스택의 데이터를 추가하고 삭제하는 데 사용됩니다.

##큐
    * 큐는 데이터를 줄을 서서 기다리는 자료 구조입니다.
    * 연결 리스트는 큐의 데이터를 추가하고 삭제하는 데 사용됩니다.

##연결 리스트
    * 연결 리스트는 데이터를 한 줄로 연결한 자료 구조입니다.
    * 연결 리스트는 데이터의 추가와 삭제가 용이합니다.

연결 리스트는 데이터의 추가와 삭제가 용이한 자료 구조입니다.
그러나 데이터의 검색이 느리다는 단점이 있습니다.
연결 리스트는 스택, 큐와 같은 자료 구조를 구현하는 데 사용됩니다.

##연결리스트 예시

```
1 -> 2 -> 3 -> 4 -> 5
```

이 연결리스트는 1, 2, 3, 4, 5의 데이터를 저장하고 있습니다. 1은 첫 번째 노드이고, 5는 마지막 노드입니다. 2는 1의 다음 노드이고, 3은 2의 다음 노드입니다. 4는 3의 다음 노드이고, 5는 4의 다음 노드입니다.

연결리스트는 배열과 비교하여 다음과 같은 장점이 있습니다.

* 데이터의 삽입과 삭제가 쉽다.
* 데이터의 크기가 가변적이다.

연결리스트는 배열과 비교하여 다음과 같은 단점이 있습니다.

* 데이터의 접근이 느리다.
* 데이터의 저장 공간이 많이 필요하다.

연결리스트는 배열과 비교하여 다음과 같은 용도로 사용됩니다.

* 데이터의 삽입과 삭제가 빈번한 경우
* 데이터의 크기가 가변적인 경우

연결리스트는 배열과 비교하여 다음과 같은 용도로 사용되지 않습니다.

* 데이터의 접근이 빈번한 경우
* 데이터의 저장 공간이 적은 경우

반응형
LIST