꾸매코딩

[용어 정리] 자료구조(Data structure)란 무엇인가? 본문

CS

[용어 정리] 자료구조(Data structure)란 무엇인가?

꾸매코더 2021. 7. 23. 17:27
반응형

자료구조

자료(Data)의 집합

Data를 저장하고, 관리하기 위해 사용하는 구조

자료구조의 목적

데이터를 효율적으로 저장 및 관리하여 메모리를 효율적으로 사용하기 위함

자료구조의 사용은 메모리의 용량을 절약해주고, 실행 시간을 단축시켜줌

자료구조 종류

선형 구조 (Linear data Structure)

데이터를 일렬로 저장하는 방식
  • 리스트 (List)
  • 스택 (Stack)
  • 큐 (Queue)
  • 데크 (deque)

비선형 구조 (Non-linear data Structure)

데이터를 나란히 저장하지 않는 구조
  • 그래프 (Graphs)
  • 트리 (Trees)

리스트 (List)

단순 연결 리스트

원형 연결 리스트

이중 연결 리스트

출처 https://yjg-lab.tistory.com/118


스택 (Stack)

한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 LIFO (Last In First Out) 구조로 저장

나열 순서를 바꿀때 스택에 넣었다가 꺼내면 역순이 됨

물건 쌓기

출처 https://en.wikipedia.org/wiki/Stack_(abstract_data_type)


큐 (Queue)

먼저 집어 넣은 데이터가 먼저 나오는 FIFO (First In First Out) 구조로 저장

프로세스 관리 등 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용

매표소 줄

출처 https://en.wikipedia.org/wiki/Queue_(abstract_data_type)


데크 (Double-ended queue)

양쪽 끝에서 삽입과 삭제가 모두 가능한 자료 구조의 한 형태

큐와 스택을 합친 형태로 생각

출처 https://runestone.academy/runestone/books/published/pythonds/BasicDS/WhatIsaDeque.html


그래프 (Graphs)

각 점들을 node 혹은 Vertex라고 하고, 잇는 선을 Edge 라고 함

교통, GPS 네비게이션, 네트워크 라우팅등 에 사용 됨

출처 http://www.btechsmartclass.com/data_structures/introduction-to-graphs.html

 


트리 (Trees)

노드로 이루어진 자료 구조

계층 구조

PC에서 폴더 - 파일을 예로 들 수 있음
ex) A폴더 > B폴더 > C폴더 > index.html
  1. 하나의 루트 노드(최상위 노드)를 가짐
  2. 루트 노드는 0개 이상의 자식 노드를 가짐
  3. 그 자식 노드 또한 0개 이상의 자식 노드를 갖고 있고, 이것이 반복적으로 정의 됨

출처 https://en.wikipedia.org/wiki/Tree_(data_structure)

 


참고 자료

 

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

 

반응형