알고리즘을 표현할 때는 다음과 같은 방법을 쓸 수 있다.
- 자연어를 이용한 서술적 표현
알고리즘을 사람이 쓰는 자연어(언어)로 표현하는 방법이다. 자연어는 서술적일 뿐만 아니라 쓰는 사람에 따라 일관성이나 명확성을 유지하기 어렵다. 따라서 누구라도 쉽게 이해하고 쓸 수 있어야 하는 아록리즘을 표현하는 데는 한계가 있다.
- 순서도를 이용한 도식화
알고리즘을 순서도를 작성하는 규칙에 따라 도식화하는 방법이다. 순서도를 이용하면 명령의 흐름을 쉽게 파악할 수 있디지만 복잡한 알고리즘을 표현하는 데는 한계가 있다.
- 프로그래밍 언어를 이용한 구체화
알고리즘을 프로그래밍 언어를 사용하여 표현하는 방법이다. 이 방법을 사용하면 알고리즘 자체가 구체화되므로 추가로 구체화 작업을 할 필요가 없다. 하지만 특정한 프로그래밍 언어로 작성하기 때문에 해당 언어를 모르면 이해하기 어렵다. 다른 프로그래밍 언어로 프로그램을 개발하는 경우에는 알고리즘을 번역하고 다른 프로그래밍 언어로 변환해야 하므로 비효율적이다.
- 가상코드를 이용한 추상화
알고리즘을 프로그래밍 언어로 표현했을 때 생기는 단점을 보완한 방법이다. 특정 프로그래밍 언어는 아니지만 프로그래밍 언어의 형태를 갖춘 가상코드를 사용하여 알고리즘을 표현한다. 가상코드는 프로그래밍 언어가 아니므로 직접 실행할 수는 없지만, 형태가 일반적인 프로그래밍 언어와 유사하기 때문에 원한느 특정 프로그래밍 언어로 변환(구체화 작업)하기가 쉽다.
순서도를 이용한 도식화와 가상코드를 이용한 추상화를 알아보자.