1. 알고리즘 도식화 (Algorithm Visualization, Algorithm Representation)
ㅇ 알고리즘을 시각적으로 표현(도식화)하는 여러 방법들이 아래와 같음
2. 알고리즘 도식화의 주요 도구
ㅇ 플로차트/순서도 (Flowchart)
- 알고리즘이나 프로세스의 흐름을 기호(사각형, 마름모, 화살표 등)로 표현.
. 직관적 이해가 쉬워, 알고리즘 설계 초기 단계나 문서화에 많이 사용됨.
. 例) 시작/끝(타원), 처리(사각형), 조건(마름모), 흐름선(화살표).
ㅇ ASM 차트 (Algorithmic State Machine Chart)
- 상태(state), 조건(decision), 출력(output)을 중심으로,
. 디지털 논리회로나 제어기 설계에서 쓰이는 알고리즘 표현 방법
- 특징
. 상태도(State Diagram)와 플로차트의 특성을 결합
. 기존 플로차트는, 알고리즘의 순차단계,결정경로를 보이지만, 그들간의 시간관계는 고려 안함
. ASM 차트는, 이벤트의 시간순서, 그들간의 타이밍 관계를 보여줌
. 하드웨어 기술(특히, 순차논리회로 설계)에 많이 사용
ㅇ 의사 코드 (Pseudo Code)
- 실제 프로그래밍 언어 문법은 아니지만, 사람이 읽기 쉽게 알고리즘을 기술하는 방법.
. 例) 도식 보다는 "문장 기반 표현"으로써, 알고리즘 단계별 설명에 자주 활용
ㅇ N-S 다이어그램 (Nassi–Shneiderman Diagram, 구조적 순서도)
- 구조적 프로그래밍에 적합한 도식화 방법.
. 모든 알고리즘이 박스(사각형 블록)로 표현되며, 순차,분기,반복 구조를 계층적으로 나타냄
. 플로우차트보다 깔끔하게 제어 구조를 표현할 수 있음
ㅇ 상태도 (State Diagram)
- 시스템이 가지는 상태(state)와 그 상태 사이의 전이(transition)를 도식화
. 이벤트 중심 시스템(例: 통신 프로토콜, 임베디드 제어기)에 효과적
. 例) UML의 상태 머신 다이어그램으로 자주 사용됨
ㅇ PAD 다이어그램 (Problem Analysis Diagram)
- 일본 등에서 많이 쓰이는 알고리즘 표현법
. 플로차트 보다 구조화가 잘 되어 있고, 논리적 흐름을 위아래로 읽어가며 단계적으로 표현