본문 바로가기
공부/2020.08

01. 자료구조의 개념

by 최혜초 2020. 8. 20.

 

 

01. 자료와 정보의 사이관계


자료 = data / 정보 = information


1) 자료과 정보의 관계

- 정보는 자료의 가공 결과

- 세상에는 다양한 자료가 있음. 

- 다양하고 많은 자료 중에서 노이즈 데이터 (필요없는 것)를 제거하고 쓰임에 맞게 가공(처리)한 것이 정보

 

2) 자료구조가 필요한 이유

- 자료구조가 잘 되어 있으면 효율적인 자료처리를 할 수 있다. 

 

3) 자료의 정의 

- 현실세계에서 관찰이나 측정을 통해 수집된 값이나 사실

- 우리의 생활에서 실제로 만질 수 있거나 볼 수 있거나 하는을 물리적인 단위로 표현하여 얻어낼 수 있는 내용

- 자료는 원시시대 때 부터 존재 했으나 처리할 수 있는 프로세스가 발달하지 않았을 뿐임.

ex) 클라이언트의 성별, 현재 온도, 한강의 수온 등등

 

4) 정보의 정의 

- 어떤 상황에 대해 의사결정을 할 수 있게 하는 지식

- 자료의 유효한 해설이나 자료 상호같의 관계를 표현하는 내용

- 어떠한 상황에 적절한 결정이나 판단에 사용될 수 있는 형태

- '처리 과정'을 거쳐서 정리되고 정돈된 '자료'의 2차 처리 결과물 


자료의 가공 결과 == 정보


 

 

02. 추상화의 개념

 

1) 추상화의 정의 

- 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의 하는 것

- 추상화를 통해 간결하게 말하는 사람의 의사를 전달할 수 있게 되는 것 

 ex) 새 - 날개가 있다. 부리가 있다. 새가 밥먹는다 (새가 부리로 모이를 쪼아 먹는 것을 상상)

 

2) 자료의 추상화

- 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 구조에 대해 공통의 특징만을 뽑아 정의한 것

- 컴퓨터 내부의 이진수의 표현방법, 저장 위치 등은 포함되지 않고 단순하게 개발자의 머릿속에 그림을 그리는 것처럼 개념화 하는 것

 

03. 자료구조의 개념

 

1) 자료구조와 알고리즘의 관계

- 자료구조는 입력자료에 대한 추상화된 상태라면, 

- 알고리즘은 컴퓨터가 수행해야 할 명령의 추상화 

- 입력값을 머릿속하에 추상화한 형태 (자료구조)로 구조화 하고

- 수행되어야 할 명령어를 머릿속에서 추상화된 형태(알고리즘)으로 체계화

 

04. 자료구조와 알고리즘의 관계

 

1) 알고리즘의 조건

- 출력

- 유효성

- 입력

- 명확성

- 유한성 

 

05. 알고리즘 성능의 분석

1) 성능 측정

- 컴퓨터가 실제로 프로그램을 실행하는데 걸리는 시간을 측정하여 알고리즘의 성능을 측정

- 실행시간의 측정 은 실제로 실행 시간을 시계로 측정하며 실제로 실행될 수 있는 프로그램이 있어야 함. 

- 시스템 시계를 이용