머리말
알고리즘은 컴퓨터 과학의 핵심이자 현대 정보화 시대의 필수 요소입니다. 알고리즘은 매일 수십억 건의 인터넷 검색 요청에 응답하는 데 사용되는 검색 엔진을 구동하고 인터넷을 통해 통신할 때 개인 정보를 보호합니다. 맞춤형 광고부터 온라인 가격 견적에 이르기까지 수많은 분야에서 알고리즘이 소비자들에게 점점 더 눈에 띄고 있으며, 뉴스 미디어에서는 알고리즘의 정의와 알고리즘의 기능에 대한 논의로 가득합니다.
STEM(과학, 기술, 공학 및 수학)의 큰 성장은 세계 경제의 지속적인 성장과 혁신의 새로운 물결을 일으키고 있습니다. 하지만 의학, 공학, 심지어 정부 분야의 발전에 필요한 알고리즘을 발견하고 적용할 수 있는 컴퓨터 과학자는 턱없이 부족합니다. 자신의 분야와 학문의 문제에 알고리즘을 적용하는 방법을 아는 사람들의 수를 늘려야 합니다.
알고리즘을 시작하기 위해 4년제 컴퓨터 과학 학위가 필요하지 않습니다. 안타깝게도 이 주제에 관한 대부분의 온라인 자료와 교재는 수학적 증명과 컴퓨터 과학 개념에 중점을 두고 학부생을 위해 만들어졌습니다. 알고리즘 교과서는 수많은 변형과 고도로 전문화된 사례로 이루어진 다양한 알고리즘에 대한 참고 자료이기 때문에 어렵게 느껴질 수 있습니다. 독자들은 이러한 책의 첫 장을 완독하는 데 어려움을 느끼는 경우가 많습니다. 이러한 책을 사용하는 것은 사전 전체를 읽으면서 영어 철자를 익히려는 것과 비슷할 수 있습니다. 대신 영어에서 가장 철자가 틀린 100개의 단어를 요약하고 그 단어에 적용되는 규칙(및 예외)을 설명하는 특별히 고안된 참고서가 있다면 훨씬 더 나은 결과를 얻을 수 있을 것입니다. 마찬가지로, 업무에 알고리즘을 사용하는 다양한 배경과 경험을 가진 사람들에게는 보다 집중적이고 그들의 필요에 맞게 설계된 참고서가 필요합니다.
알고리즘 학습은 코드의 효율성을 개선하는 데 즉시 사용할 수 있는 다양한 알고리즘에 대한 접근하기 쉬운 소개를 제공합니다. 모든 알고리즘은 데이터 과학부터 생물 정보학, 엔지니어링에 이르기까지 다양한 분야에서 사용되는 가장 인기 있고 사용자 친화적인 프로그래밍 언어 중 하나인 Python으로 제공됩니다 . 본문은 독자가 필수 개념을 이해하는 데 도움이 되는 수많은 이미지와 함께 각 알고리즘을 자세히 설명합니다. 코드는 오픈 소스이며 책의 리포지토리에서 무료로 사용할 수 있습니다.
알고리즘 학습은 컴퓨터 과학에서 사용되는 기본 알고리즘과 데이터 유형을 알려주어 보다 효율적인 프로그램을 작성할 수 있도록 도와줍니다. 프로그래밍 기술이 필요한 기술 직업을 찾고 있다면 이 책이 다음 코딩 면접에서 합격하는 데 도움이 될 수 있습니다. 이 책이 알고리즘을 배우는 여정을 계속 이어가는 데 영감을 주길 바랍니다.