관리 메뉴

Fintecuriosity

[자료구조] 자료구조 기초 본문

Computer Science/자료구조

[자료구조] 자료구조 기초

DataHolic26 2020. 6. 14. 01:59

이번 글의 내용은 '파이썬으로 쉽게 풀어쓴 자료구조 (최영규 & 천인국 지음, 생능출판)'의 내용을 참조 및 정리 하였으며 저의 개인적인 인사이트 또한 추가된 점을 먼저 밝힙니다.

 

그럼 시작 해보도록 하겠습니다.

 

자료구조는 컴퓨터 공학에서 전공 필수 과목 및 알고리즘을 이해하는데 있어서 필수적으로 배워야 하는 분야입니다. 

 

 

먼저 자료구조는 숫자와 문자와 같은 단순자료와 여러 자료들을 한꺼번에 보관하는 컨테이너와 같은 복합 자료구조로 나누어 질 수 있습니다.

 

1. 선형 자료구조

 

항목들을 순서적으로 나열하여 저장하는 창고라고 생각하면 됩니다. 항목들을 접근하는 방법에 따라 다시 세분화가 되는데, 스택이나 큐, 덱은 항목의 접근이 맨 앞(전단)이나 맨 뒤(후단)으로 제한이 됩니다. 리스트는 가장 자유로운 선형 자료구조로 임의의 위치에 항목을 삽입하거나 삭제할 수 있습니다.

2. 비선형 자료구조

 

저장되는 항목들이 보다 복잡한 연결 관계를 가지고 있습니다. 트리는 회사의 조직도나 컴퓨터의 폴더와 같은 계층 구조를 표현하기 적합하고, 힙 트리는 우선순위 큐를 효율적으로 구현할 수 있습니다. 이진 탐색트리나 AVL 트리는 탐색을 위한 트리 구조라고 생각하면 되실 것 같습니다.

그래프는 지도나 인터넷 망 등 가장 복잡한 연결관계를 표현할 수 있는데, 특히 간선에 가중치가 할당된 가중치 그래프는 최단경로탐색과 같은 다양한 문제를 해결하기 위한 기본 구조로 사용이 됩니다.

 

 

긴 글 읽어주셔서 감사합니다.