+ 프로그램 개발 과정
일반적으로 프로그램을 개발할 때는, 아래와 같이 5가지 단계를 거쳐 개발이 됩니다.
요구사항 → 분석 → 설계 → 정제 및 코딩 → 검증
이때 요구사항, 분석, 설계 단계에서 필요한 부분이 바로 자료구조와 알고리즘입니다.
보통 프로그램은 데이터를 유한이 입력하여 결과를 뽑아내는 구조인데,
입력을 통해 결과 추출 할 때, 보통 자료구조와 알고리즘이 쓰입니다.
그럼, 자료구조와 알고리즘의 정의에 대해 알아보겠습니다.
+ 자료구조 및 알고리즘
• 자료구조 : 문제를 해결하기 위해 표현하는 데이터 조직
• 알고리즘 : 표현된 데이터를 처리하기 위한 명령어들의 단계별 절차
• 프로그램 : 프로그래밍 통한 알고리즘의 구현
+ 알고리즘의 중요성
같은 문제를 풀더라도 컴퓨터 프로그래밍에선 효율이 엄청 중요합니다.
예를 들어, 구글이나 네이버와 같은 포털사이트에서 [IT]라고 검색을 한다고 할 때,
1초가 걸리냐 1분이 걸리냐와 같이 눈에 띄는 차이를 보입니다.
+ 알고리즘의 조건
알고리즘은 아래와 같은 조건을 만족해야만 합니다.
• 0개 이상 입력
• 1개 이상 출력
• 명확한 명령
• 유한한 단계
• 유효한 명령어
+ 알고리즘 기술 방법
알고리즘을 기술하는 방법에는 자연언어 기술, 플로차트 기술, Pseudo-Code 총 3가지 방법이 있습니다.
최소값을 찾는 알고리즘에 대한 각각의 예를 살펴보겠습니다.
• 자연언어 기술
최소값(A, n)
1. 배열 A의 첫번째 값을 temp에 저장한다.
2. 배열의 A의 다음 값들을 현재 temp와 비교하여 더 작으면 temp에 저장한다.
3. 2의 과정이 완료되면 temp 값을 반환한다.
• Pseudo-Code 기술
알고리즘 최소값(A, n)
입력 : n개의 정수 값이 저장된 배열 A
출력 : A에서 가장 큰 값
temp <- A[1]
for i <- 2 to n do
if temp > A[i] then
temp <- A[i]
return temp
'IT 강좌(IT Lectures) > 알고리즘(Algorithm)' 카테고리의 다른 글
5강. 고급 데이터 구조 (0) | 2024.07.08 |
---|---|
4강. 검색알고리즘 (0) | 2024.07.07 |
3강. 정렬 알고리즘 (0) | 2024.07.06 |
2강. 기본 데이터 구조 (0) | 2024.07.05 |
1강. 알고리즘 소개 (0) | 2024.07.04 |