자료구조 (Data Structure)
본문 바로가기
CS/알고리즘 및 자료구조

자료구조 (Data Structure)

by IYK2h 2020. 10. 30.
728x90

개념 및 정의


컴퓨터에서 자료를 효율적으로 사용하기 위해서 특성에 따라 분류 및 관리하여 저장 및 처리하는 모든 작업을 자료구조라 한다.

 

반복적이거나 복잡한 자료처리를 효율적으로 처리하기 위해 자료구조를 잘 이용해야 한다.

 

자료구조는 프로그래밍의 직접적인 영향을 미친다. 단순하게 하나의 반복을 생각하는 게 아닌 1000만 번 반복한다고 가정했을 때 자료구조가 주는 이점은 무시하기 어렵다. 이러한 자료구조가 모이면 알고리즘이라 할 수 있다.

 

출처 - https://terms.naver.com/imageDetail.nhn?docId=2073345&imageUrl=https%3A%2F%2Fdbscthumb-phinf.pstatic.net%2F2906_000_1%2F20140403184326648_GME9BR4GM.jpg%2Fz7_term47_i2.jpg%3Ftype%3Dm4500_4500_fst_n%26wm%3DY

정렬부터 선형구조 비선형구조 순으로 공부해 보자.

공부할 때 사용할 언어는 c언어이고 c언어를 택한 이유는 순차적 언어이기 때문이다.

 

선형구조 - 순차 리스트 또는 선형 리스트라고도 한다.

순차 리스트 - 데이터를 연속적인 기억공간에 배정하는 자료구조로서 배열, 큐, 스텍, 데크, 연결리스트

선형 리스트 - 물리적으로 일렬로 연결되어있는 자료구조. (배열을 이용하여 구현된다)

단순열결리스트 - 연결리스트(linked list)라고 한다.

비선형구조 - 트리와 그래프

검색 - 저장된 여러 자료들 중에서 특정 조건에 맞는 자료를 찾아내는 과정. 선형 검색, 이진 검색, 피보나치 검색, 보간 검색, 블록 검색, 트리 검색 등.

728x90

댓글