자료구조란?


자료(data) : 현실 세계에서 관찰이나 측정을 통해서 수집된 값이나 사실 

정보 : '자료'의 2차 처리 결과물


자료 -> 처리 -> 정보


I  = P(D)  

Information  = Process (Data)


추상화 : 공통적 개념을 이용해서 같은 종류의 다양한 개체를 정의

추상화를 통해 간결하게 말하는 사람의 의사를 전달 가능


자료의 추상화 : 다양한 객체를 컴퓨터에서 활용하기 위해 자료의 구조에 대해 공통의 특징을 뽑아 정의한 것


자료구조의 개념 : 추상화를 통해 자료의 논리적 관계를 구조화한 것

자료구조가 입력값의 추상화된 상태라면, 알고리즘은 컴퓨터가 수행해야 할 명령의 추상화


개발자 -> 추상화 -> 자료구조 <-구체화 <- 컴퓨터


입력 값을 머릿속에서 추상화한 형태(자료구조)로 구조화하고 수행할 명령어를 머릿 속에서 추상화된 형태(알고리즘)로 체계화


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

알고리즘 : 컴퓨터에게 일을 시키는 명령들의 덩어리, 사람이 컴퓨터에게 일을 시키기 위해 개발자의 의도와 명령을 전달 해 줄 수 있는 방법(프로그래밍언어)



알고리즘의 조건 : 출력, 유효성, 입력, 명확성, 유한성


알고리즘 성능의 분석과 측정

실행시간 분석 : 실행시간을 추정하여 알고리즘의 성능을 분석, 실행횟수 : O(n)

실행메모리 예측 : Sp = Sc + Se (공간복잡도 =  고정공간 + 가변공간)

성능측정 : 실제로 프로그램을 실행하는 데 걸리는 시간을 측정(시스템 시계 이용)


연습문제 

1. 알고리즘을 실행하는데 필요한 시간과 공간을 추정하여 측정(performance measurement)합니다. 그리고 컴퓨터가 실제로 프로그램을 실행하는데 걸리는 시간을 측정하여 알고리즘의 성능을 분석(performance analysis)합니다.

답 : X


2. 자료의 추상화란 컴퓨터에 의해 수행되기 위해 필요한 명령어들의 유한 집합이 사람의 머릿속에 추상화되어 존재하는 것입니다.

답 : X  - 공통의 특징을 뽑아 정리한 것


3. ‘정보’는 현실 세계에서 관찰이나 측정을 통해서 수집된 값(value)이나 사실(fact)입니다.

답: X  - 데이터에 대한 설명이다.


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

답: 추상화


+ Recent posts