본문 바로가기
기초탄탄/Algorithm

[Algorithm] Algorithm 특성

by Peter.JH 2023. 7. 20.
728x90

이전글: 2023.07.20 - [기초탄탄/Algorithm] - [Algorithm] Algorithm 소개

 

  • Clear and Unambiguous:
    • 알고리즘은 명확하고 모호하지 않아야 합니다. 각 단계는 모든 측면에서 명확해야 하며 단 하나의 의미로 이어져야 합니다.

 

  • Well-Defined Inputs:
    • 알고리즘이 입력을 받도록 지시하는 경우 잘 정의된 입력이어야 합니다. 입력을 받을 수도 있고 받지 않을 수도 있습니다. 

 

  • Well-Defined Outputs: 
    • 알고리즘은 산출할 출력을 명확하게 정의해야 하며 잘 정의되어야 합니다. 최소 1개의 출력을 생성해야 합니다. 

 

  • Finite-ness:
    • 알고리즘은 유한해야 합니다. 즉, 유한한 시간 후에 종료되어야 합니다. 

 

  • Feasible:
    • 알고리즘은 사용 가능한 리소스로 실행할 수 있도록 간단하고 일반적이며 실용적이어야 합니다. 

 

  • Language Independent: 
    • 설계된 알고리즘은 언어 독립적이어야 합니다. 즉, 모든 언어로 구현될 수 있는 일반 명령이어야 하지만 출력은 예상대로 동일해야 합니다. 

 

  • Input:
    • 알고리즘에는 0개 이상의 입력이 있습니다. 기본 연산자를 포함하는 각각은 0개 이상의 입력을 허용해야 합니다.

 

  • Output:
    • 알고리즘은 적어도 하나의 출력을 생성합니다. 기본 연산자를 포함하는 모든 명령어는 0개 이상의 입력을 허용해야 합니다.

 

  • Definiteness: 
    • 알고리즘의 모든 명령은 모호하지 않고 정확하며 해석하기 쉬워야 합니다. 알고리즘의 명령을 참조하면 수행할 작업을 명확하게 이해할 수 있습니다. 명령어의 모든 기본 연산자는 모호성 없이 정의되어야 합니다.

 

  • Finiteness: 
    • 알고리즘은 모든 테스트 사례에서 유한한 수의 단계 후에 종료되어야 합니다. 기본 연산자를 포함하는 모든 명령은 한정된 시간 내에 종료되어야 합니다. 기본 조건이 없는 무한 루프 또는 재귀 함수는 유한성을 갖지 않습니다.

 

  • Effectiveness: 
    • 종이와 연필만 사용하여 추적할 수 있도록 매우 기본적이고 간단하며 실행 가능한 작업을 사용하여 알고리즘을 개발해야 합니다.
728x90

'기초탄탄 > Algorithm' 카테고리의 다른 글

[백준 11060번] 점프 점프  (4) 2024.06.04
BFS, DFS  (0) 2023.11.10
[Algorithm] Algorithm 소개  (0) 2023.11.04
1020 TIL  (0) 2023.10.20