01. 자료와 정보의 사이관계
자료 = data / 정보 = information
1) 자료과 정보의 관계
- 정보는 자료의 가공 결과
- 세상에는 다양한 자료가 있음.
- 다양하고 많은 자료 중에서 노이즈 데이터 (필요없는 것)를 제거하고 쓰임에 맞게 가공(처리)한 것이 정보
2) 자료구조가 필요한 이유
- 자료구조가 잘 되어 있으면 효율적인 자료처리를 할 수 있다.
3) 자료의 정의
- 현실세계에서 관찰이나 측정을 통해 수집된 값이나 사실
- 우리의 생활에서 실제로 만질 수 있거나 볼 수 있거나 하는을 물리적인 단위로 표현하여 얻어낼 수 있는 내용
- 자료는 원시시대 때 부터 존재 했으나 처리할 수 있는 프로세스가 발달하지 않았을 뿐임.
ex) 클라이언트의 성별, 현재 온도, 한강의 수온 등등
4) 정보의 정의
- 어떤 상황에 대해 의사결정을 할 수 있게 하는 지식
- 자료의 유효한 해설이나 자료 상호같의 관계를 표현하는 내용
- 어떠한 상황에 적절한 결정이나 판단에 사용될 수 있는 형태
- '처리 과정'을 거쳐서 정리되고 정돈된 '자료'의 2차 처리 결과물
자료의 가공 결과 == 정보
02. 추상화의 개념
1) 추상화의 정의
- 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의 하는 것
- 추상화를 통해 간결하게 말하는 사람의 의사를 전달할 수 있게 되는 것
ex) 새 - 날개가 있다. 부리가 있다. 새가 밥먹는다 (새가 부리로 모이를 쪼아 먹는 것을 상상)
2) 자료의 추상화
- 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 구조에 대해 공통의 특징만을 뽑아 정의한 것
- 컴퓨터 내부의 이진수의 표현방법, 저장 위치 등은 포함되지 않고 단순하게 개발자의 머릿속에 그림을 그리는 것처럼 개념화 하는 것
03. 자료구조의 개념
1) 자료구조와 알고리즘의 관계
- 자료구조는 입력자료에 대한 추상화된 상태라면,
- 알고리즘은 컴퓨터가 수행해야 할 명령의 추상화
- 입력값을 머릿속하에 추상화한 형태 (자료구조)로 구조화 하고
- 수행되어야 할 명령어를 머릿속에서 추상화된 형태(알고리즘)으로 체계화
04. 자료구조와 알고리즘의 관계
1) 알고리즘의 조건
- 출력
- 유효성
- 입력
- 명확성
- 유한성
05. 알고리즘 성능의 분석
1) 성능 측정
- 컴퓨터가 실제로 프로그램을 실행하는데 걸리는 시간을 측정하여 알고리즘의 성능을 측정
- 실행시간의 측정 은 실제로 실행 시간을 시계로 측정하며 실제로 실행될 수 있는 프로그램이 있어야 함.
- 시스템 시계를 이용