데이터의 속성에 대해 알아보겠습니다. 데이터란 다양한 정보를 표현한 것입니다. 요리에 비유한다면 아래의 모든 내용은 요리법이라는 알고리즘을 표현하기 위한 데이터라고 할 수 있습니다. 요리의 재료와 조미료의 양돼지고기 120g당근1/2개설탕 1큰술간장 2.5큰술양파 1/2개감자 2개맛술 2큰술 프로그램의 알고리즘에서도 문제해결을 위한 프로세스를 설명하기 위해 다양한 데이터를 이용합니다. 예를 들어 아래의 각각의 알고리즘을 표현하는 경우 필요한 데이터는 다음과 같습니다.최대공약수를 구하는 알고리즘최대공약수를 구하는 2개의 정수값구한 최대공약수(정수값)정보의 순서를 정렬하는 알고리즘정렬할 값이 담긴 열정렬값의 개수정렬된 결과가 담긴 열 이렇게 알고리즘을 고안할때는 다양한 정보가 필요합니다. 이러한 정보..
프로그래밍에서 프로그램을 효율적으로 작성하고 오류를 최소화하기 위한 것으로 '구조적 프로그래밍'이라는 개념이 있습니다. 구조적 프로그래밍에서 프로세스의 흐름은 다음 3가지 구조를 조합해서 설명됩니다순차구조 >>> 작성된 순서대로 순차실행한다선택구조 >>> 조건에 따라 수행할 작업의 흐름을 바꾼다반복구조 >>> 조건이 일치하는 동안일정과정을 반복해서 실행한다 처리의 흐름을 설명하는 알고리즘 역시 이 3가지 구조의 조합으로 설명됩니다 이 내용은 모두 책 '그림으로 배우는 알고리즘'에서 가져온 것입니다 출처 : 그림으로 배우는 알고리즘 - 예스24이 책은 알고리즘과 프로그램이란 무엇인지부터 시작하여 프로그래밍의 기초인 변수와 배열, 여러 개의 데이터를 저장하기 위한 자료구조에 대해 알려준다. 기초적..
누구나 좋아하는 요리를 만들 수 있는 요리법은 많은 많은 사람이 이용하게 되고 '좋은 요리법'으로 인정받게 됩니다. 이렇게 음식요리법은 맛있는 요리를 만들기 위한 '선인의 지혜'기 담기고 쌓인 결과입니다. 알고리즘도 같습니다. 컴퓨터가 등장한 이후, 주어진 과제를 컴퓨터로 해결하기 위해 다양한 처리절차가 고안되어 왔습니다. 또한 많은 연구자들이 보다 일반적인 처리 절차가 없는지, 더 빠르게 처리를 할 수 없는지, 더 데이터 양을 낮출 수는 없는지 등을 고려해 알고리즘들을 개량해왔습니다. 그 결과 개량된 알고리즘들이 좋은 알고리즘으로 남게 되었고 많은 프로그램에서 사용되고 있습니다. 좋은 알고리즘은 프로그램을 작성할 때 본보기가 됩니다. 그러므로 알고리즘 학습은 좋은 프로그램을 만들기 위한 이정표와 ..