학습 목표
1. 자료구조와 추상화의 의미를 이해한다.
2. 알고리즘과 자료구조의 관계를 이해한다.
3. 미리 정의된 자료구조와 사용자 정의 자료구조의 차이를 이해한다.
4. 프로그램의 성능을 분석하는 방법과 측정하는 방법의 차이를 이해한다.
1. 자료와 정보의관계
자료를 가공하고 정리한 것이 정보
자료
: 현실 세계에서 관찰이나 측정을 통해 수집된 값(value)이나 사실(fact)
정보
: 어떤 상황에 대해서 적절한 의사결정(dicision)을 할 수 있게 하는 지식(knowledge)이며, 자료의 유효한 해석이나 자료 상호 간의 관계 [정보는 자료를 처리(process)해서 얻어진 결과(result)]
2. 추상화의 개념
추상화
- 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것
- 추상화를 통해 간결하게 말하는 사람의 의사를 전달할 수 있게 되는 것
자료의 추상화
- 자료의 추상화 : 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 구조에 대해서 공통의 특징만을 뽑아 정의한것
- 자료의 추상화에는 컴퓨터 내부의 이진수의 표현 방법, 저장 위치 등은 포함되지 않고 단순하게 개발자의 머릿속에 그림을 그리는 것처럼 개념화하는 것
3. 자료구조의 개념
자료구조
- 추상화를 통해 알고리즘에서 사용할 자료의 논리적 관계를 구조화한 것
- 자료의 추상화와 구조화가 적절히 이루어지지 못하면 소프트웨어는 비효율적으로 수행되거나 소프트웨어의 확장성에 문제가 생길 수 있음
자료구조와 알고리즘의 관계
- 자료구조는 입력 자료에 대한 추상화된 상태라면, 알고리즘은 컴퓨터가 수행해야 할 명령의 추상화
알고리즘
: 컴퓨터가 특정한 일을 수행하는 명령어들의 유한집합
자료구조의 두 가지 측면
- 자료구조는 입력 자료에 대한 추상화된 상태라면, 알고리즘은 컴퓨터가 수행해야 할 명령의 추상화
자료구조와 알고리즘의 추상화/ 구체화
- 입력값을 머릿속에서 추상화된 형태(자료구조)로 구조화하고, 수행되어야 할 명령어를 머릿속에서 추상화된 형태 (알고리즘)로 체계화
'방송통신대학 > 자료구조' 카테고리의 다른 글
큐 Queue (0) | 2020.09.16 |
---|---|
스택 (0) | 2020.09.15 |
1차원 배열 및 배열의 확장 (0) | 2020.09.14 |
배열 (0) | 2020.09.13 |
자료구조와 알고리즘의 관계 (0) | 2020.09.12 |