자료구조
자료(Data)의 집합
Data를 저장하고, 관리하기 위해 사용하는 구조
자료구조의 목적
데이터를 효율적으로 저장 및 관리하여 메모리를 효율적으로 사용하기 위함
자료구조의 사용은 메모리의 용량을 절약해주고, 실행 시간을 단축시켜줌
자료구조 종류
선형 구조 (Linear data Structure)
데이터를 일렬로 저장하는 방식
- 리스트 (List)
- 스택 (Stack)
- 큐 (Queue)
- 데크 (deque)
비선형 구조 (Non-linear data Structure)
데이터를 나란히 저장하지 않는 구조
- 그래프 (Graphs)
- 트리 (Trees)
리스트 (List)
단순 연결 리스트
원형 연결 리스트
이중 연결 리스트
스택 (Stack)
한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 LIFO (Last In First Out) 구조로 저장
나열 순서를 바꿀때 스택에 넣었다가 꺼내면 역순이 됨
물건 쌓기
큐 (Queue)
먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out) 구조로 저장
프로세스 관리 등 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용
매표소 줄
데크 (Double-ended queue)
양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조의 한 형태
큐와 스택을 합친 형태로 생각
그래프 (Graphs)
각 점들을 node 혹은 Vertex라고 하고, 잇는 선을 Edge 라고 함
교통, GPS 네비게이션, 네트워크 라우팅등 에 사용 됨
트리 (Trees)
노드로 이루어진 자료 구조
계층 구조
PC에서 폴더 - 파일을 예로 들 수 있음
ex) A폴더 > B폴더 > C폴더 > index.html
- 하나의 루트 노드(최상위 노드)를 가짐
- 루트 노드는 0개 이상의 자식 노드를 가짐
- 그 자식 노드 또한 0개 이상의 자식 노드를 갖고 있고, 이것이 반복적으로 정의 됨
참고 자료
https://helloworld-88.tistory.com/82
[알고리즘] 자료구조 란?
자료구조란? 자료구조(data structure)는 컴퓨터 과학에서 효율적인 접근 및 수정을 가능케 하는 자료의 집합을 의미하며 각 원소들 사이의 관계가 논리적으로 정의된 일정한 규칙에 의하여 나열되
helloworld-88.tistory.com
https://supermemi.tistory.com/18
자료구조란 무엇인가? (개요)
자료구조란? 간단한 도서관 이라는 예를 가지고 생각해 보자. 자료 = 도서관의 무수한 책 구조 = 정리하는 규칙과 방법에 따라서 책장을 쌓고 정리한 구조. 도서관에 가서 책을 찾을때, 구조가 엉
supermemi.tistory.com
https://makemethink.tistory.com/125
[자료구조] 7-1. 트리의 개념
지금까지 배운 자료구조는 배열, 연결 리스트, 스택, 큐 등이 있었다. 공통점은 다들 리스트형, 선형 자료 구조였다는 것이다. 따라서 모든 원소는 인덱스에 대응되어 순서대로 찾아나갈 수 있다
makemethink.tistory.com