본문 바로가기

자료구조

자료구조 개념, 종류

자료구조란?

일련의 자료들을 조직하고 구조화 하는 것

ex) 배열, 연결리스트, 트리, ...

 

 

성능 분석

공간 복잡도 - 필요한 공간의 크기

시간 복잡도 - 필요한 실행문의 실행 횟수

 

 

1. 배열 (Array)

   인덱스와 값 <index, value>의 쌍으로 구성된 집합.

   일련의 연속된 메모리 위치로 정의.

 

2. 스택 (Stack)

    LIFO (Last In First Out) : 한쪽 끝(top)에서 모든 삽입과 삭제가 일어나는 list 

 

 

 

 

 

 

3-1. 큐 (Queue)

   FIFO (First In First Out) : 한쪽 끝(rear)에서 삽입이 일어나고 다른 끝(front)에서 삭제가 일어나는 list

3-2. 원형 큐 (Queue)

   front와 rear가 시계방향으로 이동

 

 

4-1. 연결리스트 (Linked List)

   순서 list를 연결 포인터를 사용하여 표현

 

4-2. 원형 리스트 (Circular List)

   단순 연결 리스트에서 마지막 node의 link 필드가 첫 번째 node를 가리킴

   리스트 맨 앞에 새 node 삽입 시, 맨 마지막 node의 link 변경 필요 -> O(n) 소요 (last 있으면 O(1))

 

4-3. 이중 연결 리스트 (Doubly Linked List)

   단순 연결 리스트 단점 보완

   전위 node 접근을 용이하게 하기 위해 양방향 연결 field 가짐

'자료구조' 카테고리의 다른 글

그래프 (Graph) - 최소비용 신장 트리 (Minimum Cost Spanning Tree)  (0) 2020.07.28
그래프 (Graph)  (0) 2020.07.26
이진 탐색 트리 (Binary Search Tree, BST)  (0) 2020.07.25
최대 히프  (0) 2020.07.25
트리 (Tree)  (0) 2020.07.24