Kim VamPa

자료구조란 무엇인가? 본문

공부/기타(설치 등)

자료구조란 무엇인가?

Kim VamPa 2020. 3. 18. 15:21
728x90
반응형

생활코딩 Data structure수업 수강 및 개인공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.


목표

  • 자료구조가 무엇인가?
  • 자료구조와 알고리즘
  • 자료구조가 왜필요한가?
  • 자료구조의 특징은 무엇인가?
  • 자료구조 분류는 어떻게 되는가?

 

자료구조란?

  • 데이터를 구조적으로 표현하는 방식과 이를 구현하는 데 필요한 알고리즘에 대해 논하는 기초이론.
  • 데이터에 편리하게 접근하고, 변경하기 위해서 데이터를 저장하거나 조직하는 방법.
  • 큰 데이터를 어떠한 구조로 저장,탐색,삭제해야 가장 효율적인가?(= 어떻게 메모리를 가장 효율적으로 사용할 수 있을까?)
  • 효율적 자료구조 => 프로그램의 실행시간, 저장공간의 효율을 의미.
  • 자료구조를 구현하기 위해서는 '알고리즘'이 필요로 하다.

 

자료구조와 알고리즘

  • 자료구조를 구현하기 위해서 '알고리즘' 필요
  • 자료구조에서의 알고리즘 : 데이터를 저장하고 탐색하는 방법에 대한 고민들
  • 자료구조를 이용한 알고리즘 : 자료구조를 활용해서 문제를 해결하는 것 

 

자료구조는 왜 필요한가?

  • 현실의 문제를 컴퓨터적 혹은 프로그래밍적으로 어떻게 표현할지에 고민해서, 문제를 효율적이고 효과적으로 해결하기 위해 사용된다.
  • 대량의 데이터를 단시간에 최소한의 노력으로 원하는 결과(저장,탐새,삭제)가 가능하도록 하기 위해서 '자료구조'를 알아야 한다.

 

자료구조의 특징

  • 효율성(Efficiency) 

    - 데이터를 목젝에 맞게 효율적으로 관리 및 사용

  • 추상화(Abstraction)

    - 복잡한 자료,모듈,시스템 등으로 부터 핵심적인 개념만 간추려 내는 것

  • 재사용성(Reusability)

    - 다양한 프로그램에서 동작할 수 있도록 범용성 있게 설계

 

자료구조의 분류

  • 단순구조
    • 정수
    • 실수
    • 문자
    • 문자열
  • 선형구조
    • 순차리스트
    • 연결리스트
      • 단순 연결 리스트
      • 이중 연결 리스트
      • 원형 연결 리스트
    • 스택
  • 비선형 구조
    • 트리
      • 일반 트리
      • 이진 트리
    • 그래프
      • 방향 그래프
      • 무방향 그래프
  • 파일 구조
    • 순차파일
    • 색인파일
    • 직접파일

 

 

Reference

 

 

Date

  • 2020.03.18 작성

 

 

 

 

 

 

 

 

728x90
반응형
Comments