컴퓨터/자료구조

[한국방송통신대학교 자료구조] 1강 자료구조란?

gracelove91 2019. 10. 8. 15:54

오리엔테이션

자료구조를 왜 배워야하는가?

  • 자료구조를 잘 만들면 알고리즘이 단순해지므로 프로그래머가 편해진다.
  • 효율적인 프로그래밍을 할 수 있다.

자료구조의 공부방법

  • 그림을 이해하자.

1강. 자료구조란?


자료와 정보사이의 관계

  • 자료는 Data. 정보는 Infomation.

  • 자료의 가공결과가 정보다.

    • 자료를 컴퓨터가 처리(가공)해서 정보로 바꿔준다.
  • I = P(D)

    • Infomation = Process(Data)
  • 자료의 정의

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

    • 자료를 가공해서 의미있게 만들어낸 것이 정보다.
    • 어떤 상황에 대해 적절한 의사결정을 할 수 있게 하는 지식으로서, 자료의 유효한 해설이나 자료 상호간의 관계를 표현하는 내용.
    • 결정이나 판단에 사용될 수 있도록 자료의 2차 결과물.

추상화의 개념

  • 필요없는 자료를 제외하고 의미가 있는 자료들을 가공해 나타낸 정보.

    예) 지하철 노선도

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

    에) 공통적인 개념 - 버스, 포유류
    다양한 객체 - 고속버스, 마을버스, 광역버스, 사람, 고래

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

자료의 추상화

  • 다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 자료의 구조에 대해서 공통의 특징만을 뽑아 정의한 것.
  • 자료의 추상화에는 컴퓨터 내부의 이진수의 표현 방법 저장위치 등이 포함되지 않고, 단순하게 개발자의 머릿속에 그림을 그리는 것처럼 개념화 하는 것

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

  • 자료구조입력자료에 대한 추상화된 상태라면, 알고리즘은 컴퓨터가 수행해야할 명령의 추상화다.
  • 알고리즘(프로그램)의 조건
    • 출력, 유효성, 입력, 명확성, 유한성.

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

  • 분석은 예상, 측정은 실제.
  • 분석은 비용이 적게들고, 측정은 비용이 분석보다 더 든다.