기록이 힘이다.

자료구조와 알고리즘 본문

자료구조

자료구조와 알고리즘

dev22 2022. 5. 21. 14:58
728x90

프로그램 = 자료구조 + 알고리즘

알고리즘이 특정한 목적을 달성하기 위한 절차라고 한다면 자료구조는 알고리즘에 필요한 자료의 집합이다. 동일한 알고리즘이라도 자료구조가 달라지면 전혀 다른 프로그램이 될 수 있기 때문에 자료에 알맞은 자료구조를 만드는 것이 매우 중요하다. 작성된 알고리즘은 다양한 자료구조들을 포함할 수 있다. 

 

자료구조(data structure)

1. 데이터를 효율적으로 표현하고 저장하기 위해 구조화하는 것

2. 자료의 사용 방법이나 성격에 따라 효율적으로 사용하기 위하여 조직하고 저장하는 방법

 

자료의 형태에 따른 분류

1. 단순 구조: 정수, 실수, 문자, 문자열

2. 선형 구조: 리스트, 연결 리스트, 스택, 큐, 데크

3. 비선형 구조: 트리, 그래프

4. 파일 구조: 순차 파일, 색인 파일, 직접 파일

 

알고리즘(algorithm)

1. 문제를 해결할 수 있는 잘 정의된 유한 시간 내에 종료되는 체계적인 절차

2. 주어진 문제를 해결하기 위한 문제 해결 과정을 묘사하는 것으로 절차와 방법, 명령 등을 명확하게 기술해 놓은 것

3. 컴퓨터에 정보를 어떻게 입력하고 입력된 정보를 어떻게 처리하며 처리된 결과를 어떤 형식으로 출력할 것인지에 관한 모든 문제를 총괄하는 개념

 

알고리즘의 요구조건

1. 입력: 외부에서 제공되는 0개 이상의 입력 데이터가 존재햐야 한다. 

2. 출력: 입력값으로부터 적어도 하나 이상의 결과가 출력되어야 한다. 

3. 명확성: 기술된 명령들이 애매모호하지 않고 명확해야 한다.

4. 유한성: 제한된 수의 명령 단계를 거친 후에는 반드시 종료해야 한다. 

5. 유효성: 모든 명령은 실행 가능해야 한다. 

 

알고리즘의 기술 방법

1. 영어, 한국어와 같이 사람이 사용하는 자연어

2. 순서도(flow chart)

3. 언어코드(pseudo code)

4. C언어, JAVA 등과 같은 프로그래밍 언어

'자료구조' 카테고리의 다른 글

그래프  (0) 2022.07.06
트리  (0) 2022.06.17
연결리스트  (0) 2022.06.12
스택과 큐  (0) 2022.05.21
배열  (0) 2022.05.21