알고리즘 개요(알고리즘)

심채운·2024년 2월 28일
0

학점은행제 컴공

목록 보기
38/40
post-thumbnail

알고리즘

알고리즘은 문제해결 과정을 묘사하는 것으로 어떤 일을 수행하는 일련의 명령어의 집합이라 할 수 있으며 모호하지 않고 이해하기 쉽게 명확해야 한다.

알고리즘의 특성

알고리즘을 작성하기 위해서는 문제를 풀기 위한 입력이 반드시 필요하며 그 결과인 출력이 존재해야 하며, 명령이 수행된 후에는 반드시 종료되어야 하는 유한성과 정확한 출력값을 만들어내야 하는 정확성, 같은 문제에는 모두 적용 가능한 일반성이 있어야 한다.

의사코드

프로그램 명령문 형식을 취하고 각 명령을 사람이 이해하기 쉽게 적당한 뜻을 가진 단어로 나타낸 것이다.

알고리즘이란?

어떤 작업을 수행하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것

  • 어떤 일을 수행할 수 있는 일련의 명령어 또는 규칙의 집합
  • 알고리즘을 설계하기 위해서는 해야 할 작업을 명확하게 명시해야 함
  • 문제해결이나 처리 과정에서의 순서를 단계적으로 서술

문제를 알고리즘으로 작성하는 과정

  1. 문제 분석 : 주어진 문제에 대한 논리적 분석을 통하여 핵심 사항들을 분석
  2. 데이터 수집과 표현 : 문제해결과 관련된 정보들을 수집하며 데이터를 적절한 형태로 표현
  3. 분해 : 복잡한 문제를 보다 쉽게 다룰 수 있도록 여러 개의 작은 부분들로 쪼개어 분해
  4. 패턴인식 : 문제 내에서 공통적인 유사성이나 규칙을 찾아냄
  5. 추상화 : 문제에서 필요 없는 부분들을 걸러내고 복잡한 문제나 아이디어를 단순화
  6. 알고리즘 : 문제에 대한 단계적인 해결책, 설명, 지시 사항들을 설계
  7. 평가 : 알고리즘의 정확성, 해답의 적절성, 효율성 등을 최종 점검

알고리즘의 특징

  • 입력 : 문제를 풀기 위한 입력이 반드시 필요함
  • 출력 : 문제를 해결했을 때 그 결과인 출력이 반드시 존재해야 함
  • 유한성 : 알고리즘은 일정한 시간내에 반드시 종료되어야 함, 알고리즘 수행이 끝나지 않거나 매우 오래 걸리면 해를 얻을 수 없음.
  • 정확성 : 주어진 문제에 대한 정확한 출력값을 만들어야 함
  • 일반성 : 같은 유형의 문제에 모두 적용 가능

알고리즘의 표현 방법

  • 순서도(Flow Chart)
    • 문제 해결 과정을 기호와 도형을 사용하여 표현하는 방식
  • 의사코드(Pseudocode)
    • 프로그램 명령문 형식을 취하고 각 명령을 사람이 이해하기 쉽게 적당한 뜻을 가진 단어로 나타냄
profile
불가능, 그것은 사실이 아니라 하나의 의견일 뿐이다. - 무하마드 알리

0개의 댓글