0. Intro
1) basic data type of C
char, int, float, double, short, long, unsigned
2) mechanisms for grouping data together
1> array (homogenius)
2> struct (heterogenius)
3) pointer data type
각 data type마다 이를 가리키는 pointer data type이 존재한다.
1. Data type
1) 정의
1> 그 자료 자체(collection of objects) 뿐 아니라
2> 그 자료에 적용되는 연산들(operation)
2. Abstract data type
1) 정의
1> 자료(objects)와 자료에 대한 연산(operation)들을 모아놓은 것
2> 구현 방법이나 적용 방법등을 명시(specify)하지 않고
3> 순수하게 기능이 무엇인지만 나열
ex> 스택의 형태는 LIFO값들의 모임이고 push, pop 드의 연산이 있다.
하지만 스택이 내부적으로 array로 구현되는지 linked list로 구현되는지 등등의 세부사항은 다루지 않는다.
(이런 걸 다루면 data structure 영역)
2) 구성 함수
1> constructor (creator)
- 새로운 instance 생성 (초기화된 값 제공)
2> transformer
- 하나 이상의 instance를 이용해서 (지정된 type의) 인스턴스를 생성
ex> 덧셈 정도를 떠올리면 된다.
3> observer (reporter)
- 인스턴스의 type에 대한 정보를 준다. (변경시키지는 않는다.)
3) 기타
1> 예시: stack, queue, linked list, BST, heap, graph
2> 위 예시와 함께 각 ADT마다 할 수 있는 '행동'들도 정의되어 있다.
3> abstract는 JAVA의 객체지향과 같은 맥락이다.
'자료구조' 카테고리의 다른 글
1-5강 - Performance analysis (2) 점근 표기법 (0) | 2020.03.31 |
---|---|
1-5강 - Performance analysis (1) 공간 복잡도, 시간 복잡도 (0) | 2020.03.31 |
1-3강 - Algorithm specification (2) 재귀 알고리즘 (0) | 2020.03.30 |
1-3강 - Algorithm specification (1) 선택 정렬, 이진 탐색 (0) | 2020.03.30 |
1-1강 - System life cycle (0) | 2020.03.18 |