1. 자료구조와 알고리즘의 관계
알고리즘은 문제를 해결하기 위해 입력을 받아 원하는 출력을 만들어내는 과정을 기술한 것이다. 자료구조는 알고리즘과 밀접한 관계가 있다. 자료구조는 그 자체로도 알고리즘을 포함한다.
2. 알고리즘 표기법
알고리즘을 만들 때는 받은 입력으로부터 원하는 출력을 만들어내기까지의 과정을 모든 이가 알아볼 수 있도록 애매하지 않고 명쾌하게 기술되어야 한다. 알고리즘은 다양한 방법으로 표현될 수 있다.
1. 자연어를 이용한 서술적 표현
알고리즘을 작성하는 사람의 자연어로 표현하는 방법이다. 이 방법은 알고리즘을 쓰는 사람에 다라 일관성이나 명확성을 유지하기 어렵다. 따라서, 누구나 쉽게 이해해야 하는 알고리즘을 표현하는 데는 한계가 있다.
2. 순서도를 이용한 도식화
알고리즘을 순서도를 이용하여 표현하는 방법이다. 순서도로 표현하면 명령의 흐름을 쉽게 이해할 수 있지만, 복잡한 알고리즘을 표현하는 데는 한계가 있다.
3. 프로그래밍 언어를 이용한 구체화
알고리즘을 프로그래밍 언어를 이용해 표현하는 방법이다. 이 방법을 이용하면 알고리즘 자체가 구체화되므로 추가로 구체화할 필요가 없다. 하지만, 특정한 프로그래밍 언어로 작성된 알고리즘은 해당 언어를 모르면 이해하기 어렵다. 다른 프로그래밍 언어로 프로그램을 개발하는 경우에는 다른 프로그래밍 언어로 변환해야 하므로 범용성이 떨어진다.
4. 가상코드를 이용한 추상화
알고리즘을 프로그래밍 언어를 이용해 표현하는 방법을 보완한 방법이다. 프로그래밍 언어의 형태를 갖춘 가상코드로 알고리즘을 표현한다. 가상코드Peudo-Code는 프로그래밍 언어가 아니므로 실행할 수는 없지만 일반적인 프로그래밍 언어와 형태가 유사해 원하는 특정 프로그래밍 언어로 구체화하기가 쉽다.
'Computer Science > [Basic] Data Structure' 카테고리의 다른 글
[Ch.01 - 자료구조 소개] 자료구조란 (0) | 2023.01.16 |
---|