본문 바로가기

이벤트

[C 프로그래밍] 메타코드 강의 후기_(챕터 14 : Linked List)

https://mcode.co.kr/

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

메타코드에서 강의를 지원받고 후기를 작성합니다. 

 

링크드 리스트는 데이터를 노드라는 단위로 저장하며, 각 노드는 다음 노드를 가리키는 포인터를 포함하는 자료구조입니다. 배열과 달리, 링크드 리스트는 동적으로 크기가 변할 수 있으며, 데이터의 삽입과 삭제가 유연하게 이루어집니다. 

Linked List 기초

  • 기본 개념: 링크드 리스트는 데이터와 다음 노드를 가리키는 포인터로 구성된 노드들이 연결된 구조입니다. 각 노드는 독립적인 데이터 공간을 가지며, 포인터를 통해 서로 연결됩니다.

단일 Linked List

  • 단일 링크드 리스트: 각 노드가 다음 노드만을 가리키는 가장 기본적인 형태의 링크드 리스트입니다. 단방향으로만 데이터에 접근할 수 있습니다.

이중 Linked List

  • 이중 링크드 리스트: 각 노드가 이전 노드와 다음 노드를 모두 가리키는 구조로, 양방향으로 데이터에 접근할 수 있습니다. 데이터의 삽입과 삭제가 더 유연하게 이루어질 수 있습니다.

원형 Linked List

  • 원형 링크드 리스트: 마지막 노드가 다시 첫 번째 노드를 가리키는 형태로, 리스트의 시작과 끝이 연결된 구조입니다. 순환적인 데이터 구조를 필요로 하는 경우에 유용합니다.

배열과 연결 리스트는 각각의 장단점이 명확하기 때문에, 사용하는 상황에 따라 적절한 자료구조를 선택하는 것이 중요합니다. 데이터의 크기가 고정되어 있고 빠른 접근이 필요한 경우 배열을, 데이터의 크기가 동적으로 변하거나 삽입 및 삭제가 빈번한 경우 연결 리스트를 사용하는 것이 좋습니다.

 

Stack, Queue

  • 스택(Stack): 후입선출(LIFO, Last In First Out) 방식으로 데이터를 관리하는 자료구조입니다. 데이터의 삽입과 삭제가 한쪽 끝에서만 이루어집니다.
  • 큐(Queue): 선입선출(FIFO, First In First Out) 방식으로 데이터를 관리하는 자료구조입니다. 데이터의 삽입은 한쪽 끝에서, 삭제는 반대쪽 끝에서 이루어집니다.

링크드 리스트는 다양한 형태와 응용으로 프로그래밍에서 널리 사용되는 중요한 자료구조입니다. 각각의 특성을 이해하고 적절히 활용한다면, 보다 효율적인 데이터 관리가 가능해집니다.