초보자를 위한 알고리즘 작성 방법

click fraud protection
그의 사무실에서 늦게까지 일하다

이미지 크레디트: vgajic/E+/GettyImages

새로운 알고리즘을 고안하는 것은 새로운 프로그래머에게 위협적으로 보일 수 있지만 다른 모든 것과 마찬가지로 연습할 수 있는 기술입니다. 초보자를 위한 알고리즘 문제 책을 찾거나 온라인 또는 오프라인 컴퓨터 과학 수업을 듣는 것으로 시작하십시오. 복잡성 및 런타임 추정, 검사를 포함하여 알고리즘 설계의 기본을 마스터하는 연습 컴퓨터 알고리즘에 문제를 일으킬 수 있는 극단적인 경우 및 문제를 더 작은 문제로 나누기 부속.

컴퓨터 알고리즘이란

알고리즘은 컴퓨터나 인간이 문제를 해결하기 위해 따르는 절차입니다. 긴 나눗셈은 많은 사람들이 학교에서 배우는 샘플 알고리즘입니다. 두 숫자의 최대 공약수를 찾는 데 사용되는 유클리드 알고리즘은 또 다른 일반적인 예입니다.

오늘의 비디오

컴퓨터 알고리즘은 궁극적으로 컴퓨터가 이해할 수 있는 프로그래밍 언어로 작성되지만 알고리즘이 개발된 프로그래머와 컴퓨터 과학자들은 종종 그것을 비공식적으로는 처음에는 산문으로 쓴 다음 더 공식적으로는 의사 코드.

의사 코드는 프로그래밍 언어처럼 보이지만 컴퓨터가 아닌 사람이 읽도록 설계되었기 때문에 엄격한 구문 규칙이 없습니다.

초보자를 위한 간단한 알고리즘 예제

알고리즘의 유명한 예는 초보 컴퓨터 과학자와 프로그래머에게 종종 가르쳐집니다. 몇 가지 예는 그래프 이론에서 두 점 사이의 최단 경로를 찾는 데 사용되는 Dijkstra의 알고리즘입니다. 데이터 목록을 정렬하는 데 사용되는 병합 정렬; 데이터를 암호화하는 데 사용되는 RSA 알고리즘. 이들 중 대부분은 무료 교과서, 비디오 및 강의 자료를 통해 온라인으로 제공됩니다.

온라인 학습 사이트 Khan Academy에는 초보자가 실험할 수 있는 알고리즘의 예가 많이 있습니다. Harvard, Stanford 및 Massachusetts Institute of Technology와 같은 주요 대학은 커리큘럼을 만듭니다. 컴퓨터 과학 입문을 위해 온라인에서 사용할 수 있는 공통 알고리즘이 포함된 자료 및 코스 비디오 클래스.

또한 프로그래밍 경연 문제와 해결 방법에 대한 설명이 있는 사이트가 있어 기술 개발에 관심이 있는 사람들을 도울 수 있습니다.

알고리즘 고려 사항

새로운 알고리즘을 생각해 낼 때, 그것이 해야 한다고 생각하는 모든 경우에 작동하는지 확인하고 얼마나 효율적인지 이해하려고 합니다. 일반적으로 프로그래머는 알고리즘을 개별 부분으로 나누어 각 부분의 작동 방식과 소요 시간을 생각할 수 있습니다. 이를 모듈식 설계라고 합니다.

코드 작성을 시작하기 전에 몇 가지 간단한 경우에 펜과 종이로 알고리즘을 직접 테스트하는 것이 좋습니다. 효율성에 대해 생각할 때 평균적인 경우, 알고리즘이 접할 수 있는 일반적인 상황 및 최악의 런타임에 대해 생각하십시오. 최악의 런타임은 종종 Big-O 표기법으로 표현됩니다.