본문 바로가기
Major/Computer Science

[파이썬 자료구조] 01. 자료구조 개요

by LeeDaSom 2025. 4. 15.

1. 자료구조 개념

 1) 자료를 효율적을 관리하는 방법

 2) 자료에 효율적으로 접근하고 수정할 수 있도록 저장, 조직, 관리하는 방법에 관한 이론

 3) 알고리즘: 문제 해결을 위해 입력을 받아 원하는 출력을 만들어내는 일련의 과정을 기술한 것

 4) 알고리즘에 있어 부품 같은 역할

 5) 모듈화: 문제 해결을 위한 생각의 과정에서 의미 단위를 잡는 일, 각 모듈은 더 작은 모듈로 나뉠 수 있다. 

 

2. 자료구조의 종류

1) 배열

2) 리스트

3) 행렬

4) 스택

5) 그래프

6) 트리

7) 최대 힙

8) 큐

3. 자료구조와 알고리즘

1) 알고리즘: 문제 해결 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것

2) 알고리즘 표기법

 ① 자연어를 이용한 서술적 표현

   일관성, 명확성 ↓

 ② 순서도(Flow Chart)를 이용한 도식화

   명령의 흐름을 쉽게 파악 but, 복잡한 알고리즘에는 한계 有

 ③ 프로그래밍 언어를 이용한 구체화

   특정 프로그래밍 언어를 모르면 이해가 어려움, 범용성 ↓

 ④ 가상코드(Pseudo-Code)를 이용한 추상화

   

4. 자료구조의 추상 데이터 타입

1) 추상

 추상 레벨이 높다

  =관점의 계층이 높다.

2) 추상 데이터 타입 ADT(Abstract Data Type)

 자료구조에서 '작업을 나열해 표현'하는 것을 "추상적으로 표현한다"라고 하며, 대상을 그렇게 표현한 것을 추상 데이터 타입이라 함.

 -대략 하나의 클래스에 대응 in 객체 지향 언어  *클래스는 자신의 규칙을 따르는 객체를 만들기 위한 틀

 -하나의 ADT에 여러 ADT가 포함될 수 있음.

 -어떤 데이터 타입이 어떤 작업으로 이루어지는지를 세부 사항 없이 표현