CS/자료구조

자료구조의 정의

Meluu_ 2024. 1. 26. 19:49

자료구조란?

데이터에 대한 효울적인 접근 및 수정을 가능하게 하는 자료의 조직, 관리, 저장 체계 데이터의 모임,

데이터 간의 관계, 데이터에 적용할 수 있는 함수나 명령을 포함한 (프로그램에서) 자료들을 정리하여 보관하는 구조

 

알고리즘의 조건

- 입력 : 0개 이상의 입력이 존재

- 출력 : 1개 이상의 출력이 존재

- 명백성 : 각 명령어의 의미는 모호하지 않고 명확해야함

- 유한성 : 한정된 수의 단계 후에는 반드시 종료되어야 함

- 유효성 : 각 명령어들은 실행 가능한 연산이여야 함

 

 

자료형 

기초 자료형 : char, int float, double

파생 자료형 : 배열 포인터

사용자 정의 자료형 : 구조체, 공용체, 열거형

 

데이터 집합과 연산의 집합

int 자료형 

데이터 {-INT_MIN, ... , - 2, -1, 0, 1, 2, ..., INT_MAX }
연산 +, =, *, /, %, ==, >, <

 

자료형은 일련의 데이터 및 연산이다.

추상 데이터 타입은 데이터 구조와 그에 대한 연산의 수학적 모델

즉, ADT 는 DS(Data structure) 가 구현되는 거에 대한 인터페이스

 

 

추상화

- 사용자에게 중요한 정보만 보여주고

- 중요하지 않은 구현 세부 사항은 감추는 것 

 

 

추상 데이터 타입(ADT)

자료형을 추상적(수학적)으로 정의한 것

데이터나 연산이 무엇(What)인가는 정의되지만

데이터나 연산을 어떻게(How) 구현할 것인지는 정의하지 않음

 

추상 자료형과 자료구조는 무슨 관계가 있는가?

→ 추상 자료형의 구현을 통해서 자료구조를 만들어 낼수있음

 

추상 자료형은 왜 필요한가? 추상 자료형을 왜 사용하는가?

→ 핵심적인 구조나 동작에만 집중하기위해

 

 

 


🔖 참고자료


  • C로 쉽게 풀어쓴 자료구조 - 생능출판사

 

 

'CS > 자료구조' 카테고리의 다른 글

연결리스트  (0) 2024.07.09
큐(queue)와 덱(deque)  (0) 2024.07.02
스택 (Stack)  (0) 2024.07.01
배열, 구조체, 포인터  (0) 2024.06.28
순환  (0) 2024.01.26