자료구조의 개요 및 자료표현 방법
자료구조(data structure)는 컴퓨터를 이용해 문제를 해결할 때 자료의 효율적인 접근 및 수정을 가능하도록 자료의 조직, 관리, 저장하는 일련의 작업을 의미한다.
컴퓨터에 처리하는 자료는 다양한 형태로 표현되는데 기본적으로 숫자, 문자, 그림, 기호, 소리 등 모든 형식의 자료는 물리적 단위(2진수 코드)로 표현, 저장, 처리한다.
문자에 대한 2진 코드를 정의해 놓은 문자코드로서 컴퓨터 내부에서는 문자 자료도 1과 0의 2진수 조합으로 표현한다.
1. 자료와 정보
자료
- 현실 세계에 대한 관찰을 통해, 즉 어떤 측정을 통해 얻어진 단순한 값(사실)로 가공되지 않은 그 자체를 의미
- 종류 :
정성 데이터(qualitative data) : 언어, 문자의 표현형 데이터
정량 데이터(quantitative data) : 수치, 도형등 측정 가능한 데이터
정보
- 정보처리시스템을 통해 어떤 조직체에 의미 있게 적절히 사용될 자료를 처리(분석)해 얻어진 값, 의사 결정을 위한 지식
- 즉 자료가 가공되면 정보이다.
2. 자료 구조
- 자료의 효율적인 접근 및 수정을 가능하도록 자료의 조직, 관리, 저장하는 일련의 작업으로 데이터 간의 관계와 데이터에 적용할 수 있는 함수나 명령을 의미한다.
- 필요성 : 최적(효율성)의 프로그램 작성으로 기억공간을 절약하고 프로그램 수행 시간을 최소화하기 위함이다.
적합한 자료구조를 선택하는 과정
1단계 : 문제의 해답을 만족하는 데이터의 제약 조건 파악
2단계 : 문제를 해결하는데 필요한 기본 연산 결정 / 기본 연산들이 요구하는 특별한 데이터 형태가 있는지 파악
3단계 : 위 요구사항을 가장 만족하는 자료구조 선택
3. 프로그램
정의
특정 작업을 수행하는 일련의 명령어들의 모음. 즉 데이터가 구조화되고 표현된 데이터를 처리하는 명령어 집합체(자료구조 + 알고리즘)
컴퓨터 정보처리 시스템
- 자료를 수집, 분석, 저장해 유용한 형태의 정보로 가공하고 공유하는 일을 체계적이고 효율적적으로 가공하는 시스템
4. 자료구조의 종류
primitive(단순) 자료구조
- 컴퓨터가 기본적으로 제공하는 자료구조 (boolean, 정수 등)
비단순(non-primitive) 자료구조
- 선형구조(linear structure) : 데이터가 일렬로 저장되는 구조
- 비선형구조(non-linear structure) : 데이터가 상하관계의 계층구조
5. 자료 표현 방법
- 물리적 단위와 논리적 단위
디지털 시스템에서 숫자, 문자, 그림, 소리 등 모든 형식의 자료는 물리적 단위(2진수 코드)로 표현하여 저장 및 처리
저장장치
- 비트(bit) : 2진수로 0과 1
- 니블(nibble) : 4bit
- 바이트(byte) : 8bit
- 워드 : CPU가 한 번에 처리할 수 있는 명령 단위
정보저장 / 처리
- 필드(field) : 자료구성 단위, 자료처리의 최소단위, 파일구성의 최소단위
- 레코드(record) : 하나 이상의 관련된 필드 모임, 프로그램 처리의 기본 단위
- 블록 (block) : 프로그램(저장장치)