728x90
개념 및 정의
컴퓨터에서 자료를 효율적으로 사용하기 위해서 특성에 따라 분류 및 관리하여 저장 및 처리하는 모든 작업을 자료구조라 한다.
반복적이거나 복잡한 자료처리를 효율적으로 처리하기 위해 자료구조를 잘 이용해야 한다.
자료구조는 프로그래밍의 직접적인 영향을 미친다. 단순하게 하나의 반복을 생각하는 게 아닌 1000만 번 반복한다고 가정했을 때 자료구조가 주는 이점은 무시하기 어렵다. 이러한 자료구조가 모이면 알고리즘이라 할 수 있다.
정렬부터 선형구조 비선형구조 순으로 공부해 보자.
공부할 때 사용할 언어는 c언어이고 c언어를 택한 이유는 순차적 언어이기 때문이다.
선형구조 - 순차 리스트 또는 선형 리스트라고도 한다.
순차 리스트 - 데이터를 연속적인 기억공간에 배정하는 자료구조로서 배열, 큐, 스텍, 데크, 연결리스트
선형 리스트 - 물리적으로 일렬로 연결되어있는 자료구조. (배열을 이용하여 구현된다)
단순열결리스트 - 연결리스트(linked list)라고 한다.
비선형구조 - 트리와 그래프
검색 - 저장된 여러 자료들 중에서 특정 조건에 맞는 자료를 찾아내는 과정. 선형 검색, 이진 검색, 피보나치 검색, 보간 검색, 블록 검색, 트리 검색 등.
728x90
'CS > 알고리즘 및 자료구조' 카테고리의 다른 글
C언어 - 정렬 (Sort) (0) | 2020.11.13 |
---|---|
C언어 - 배열 (0) | 2020.11.06 |
순서도란? (0) | 2020.10.23 |
C언어 - 포인터 활용, call by value, call by reference (0) | 2020.10.16 |
C언어 - 포인터 연산, 포인터와 배열의 관계 (0) | 2020.08.28 |
댓글