데이터 과학에서는 알고리즘 및 데이터 구조가 데이터 수집의 기능과 저장소를 형성합니다. 이러한 구조를 배울 때 코딩 및 응용 수학 지식이 도움이 되기는 하지만, 사실 완전히 초보자를 위한 책이 많이 있습니다. 많은 책이 학습하기 쉽게 특화된 구조에 초점을 맞추고, 작동 사례 및 코드를 사용하여 주제에 대한 배경 이론을 지지합니다. 데이터 과학의 기본 사항을 이해했으면 그다음 단계로 알고리즘을 배우는 것이 좋습니다.
이 문서에서는 초보자부터 중급, 고급까지 모든 기술 수준의 사용자가 만족할 수 있는 다양한 알고리즘 및 구조 관련 서적에 관해 설명합니다. 우리말로 번역된 책은 한글판 제목을 괄호 안에 표기했으며, 모든 책의 사이트는 영어 페이지로 링크됩니다.
1. “Introduction to Algorithms”, 저자: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
저자: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
웹 사이트: Amazon
‘Introduction to Algorithms’는 종합적인 개요와 전반적인 알고리즘 가이드를 제공합니다. 이 책은 이론과 실제 간의 모든 것을 천 여 페이지에 걸쳐 광범위하게 망라하여 현대 알고리즘의 백과사전식 참고 문헌 역할을 합니다.
도표 및 증거로 문제를 보여주고, 알고리즘을 구현하고, 결과의 배경 이론을 분석하는 등 매우 실용적인 내용을 담고 있습니다. ‘입문서’로서, 수학 및 데이터 구조에 대한 어느 정도의 지식을 갖고 있어야 하며, 열정적인 독자라면 깊이 음미해 볼 내용도 많이 있습니다.
2. “Algorithms Unlocked”(알고리즘 비밀의 문을 열다), 저자: Thomas H. Cormen
저자: Thomas H. Cormen
웹 사이트: Amazon
Thomas Cormen이 쓴 “알고리즘 비밀의 문을 열다”는 기술 신비주의에서 벗어나 베일에 싸인 내부 작동 방식 이면의 비밀을 밝히려 합니다. 오늘날 자동화된 GPS 경로, 인터넷 암호화와 같이 당연하게 받아들이는 수많은 기술은 모두 응용 알고리즘을 사용하여 작동합니다.
이 책에서는 어떻게 컴퓨터에서 알고리즘을 사용해 문제를 해결하는지, 동시에 어떻게 일상생활에서 볼 수 있는 많은 기술직이 만들어지는지에 대해 설명합니다. 컴퓨터 알고리즘이 정확히 무엇인지 세부적으로 검토하고, 알고리즘을 사용해 검색, 정렬, 도표화 같은 간단한 작업을 수행하는 방법을 알려줍니다. 현대에 알고리즘이 어떤 식으로 작동하는지에 관심 있는 모든 사람을 위한 리소스입니다.
3. “The Algorithm Design Manual”, 저자: Steven S. Skiena
저자: Steven S. Skiena
웹 사이트: Amazon
‘The Algorithm Design Manual’은 알고리즘을 기초부터 직접 만들기 위한 입문서입니다. 알고리즘 설계의 배경 이론에 대해 다룰 뿐만 아니라 예제 및 실생활에 적용된 사례를 사용하여 참조 기준을 제공합니다. Skiena는 알고리즘에 사용되는 다른 다양한 프로그래밍 언어로 쉽게 전환되는 ‘유사 부호’ 개념을 소개합니다. 저자는 그래프 이론, 계산 기하학, 멀티스레드 알고리즘과 같은 다양한 최신 알고리즘에 대해 다룹니다.
이 책은 ‘기술’과 ‘리소스’의 두 부분으로 나뉩니다. 1부, ‘기술’에서는 독자에게 알고리즘 설계 및 분석 방법에 대해 알려줍니다. 2부, ‘리소스’에서는 필요에 따라 참고할 수 있는 C/C++ 및 Java 구현뿐만 아니라, 75가지의 가장 일반적인 알고리즘 문제가 포함된 대규모 참조 리소스를 독자에게 제공합니다.
4. “Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles”, 저자: Narasimha Karumanchi
저자: Narasimha Karumanchi
웹 사이트: Amazon
이 책은 면접, 시험 또는 인증 테스트를 앞두고 기존의 지식을 다시 검토해 볼 때 가이드로 쓰기에 적합합니다. 일반적인 알고리즘 문제와 그 해결책에 대해 논합니다. 데이터 구조의 기본 및 알고리즘 작동 방식뿐만 아니라 독자가 직접 작성하는 방법도 포함합니다.
자료에 수록된 연습 문제를 완료하는 데에는 수학 및 C/C++ 코드 지식이 필요합니다. 이 책은 20개 장, 400페이지가 넘는 분량으로, 기본적으로 알고리즘 문제 해결을 위한 워크북에 해당합니다.
5. “Grokking Algorithms: An illustrated guide for programmers and other curious people”(Hello Coding 그림으로 개념을 이해하는 알고리즘), 저자: Aditya Bhargava
저자: Aditya Bhargava
웹 사이트: Amazon
이 책은 프로그래머를 위한 따라 하기 쉬운 책으로, 알고리즘에 대해 좀 더 자세히 알아보고 실제로 부딪힐 수 있는 일반적인 문제의 해결 방법에 관해 알아봅니다. 이 책에서는 정렬, 검색 등 보다 일반적이고 실용적인 알고리즘 주제에서 점차 데이터 압축 및 인공 지능 등 더 어려운 문제까지 다룹니다.
알고리즘에 딸린 그림은 시각형 학습자에게 매우 유용하며, 단계별 자세한 설명을 통해 각 프로세스에 대해 차근차근 설명합니다. 각 예제에는 Python 샘플 코드가 포함되어 있습니다. 완전 초보를 위한 것은 아니며, 프로그래밍에 익숙한 사람들을 위한 가이드 또는 복습용으로 사용할 수 있습니다.
6. “Algorithms”(알고리즘), 저자: Robert Sedgewick, Kevin Wayne
저자: Robert Sedgewick, Kevin Wayne
웹 사이트: Amazon
제목은 간단하지만, 내용은 그렇게 간단하지 않은 ‘Algorithms’은 책에서 다루는 내용의 깊이에 비해 제목이 너무 간단명료하여 오해의 소지가 있습니다. 완벽한 교과서로 볼 수 있는 이 책은 알고리즘과 데이터 구조에 대해 상세히 검토하며, 학계에서 쓰이는 포괄적인 리소스 역할을 합니다. 완전히 작동하는 소스 코드를 제공하는 온라인 포털도 포함되어 있습니다.
다양한 데이터 유형과 그 정렬 및 분석 방법에 대해 다루고, 검색, 정렬 및 프로세싱에 유용한 중요한 알고리즘을 강조하여 설명합니다. 실무 연습용으로, 관련 웹 사이트에 연습, 테스트 데이터, 비주얼리제이션 및 전체 Java 코드가 제공됩니다. 이 책은 대단히 학문적 관점에서 쓰였고 대학 환경에서 사용되므로 이 주제의 입문용 교과서 리소스 역할을 합니다.
7. “Advanced Data Structures”, 저자: Peter Brass
저자: Peter Brass
웹 사이트: Amazon
“Advanced Data Structures”는 알고리즘 및 검색 최적화에 있어 데이터 구조의 중요성을 강조합니다. 고급 수준의 독자와 데이터 과학 실무자를 위해 쓰인 대학원생 수준의 글로, 데이터 분석 내에서 데이터 저장소의 복잡성을 깊이 연구하는 것이므로 열의가 없으면 적합하지 않습니다.
이 책에서는 다양한 데이터 구조와 변형에 대해 자세히 다루며 누적, 대기열, 해시 테이블, 탐색 트리 등에 대해 논의합니다. 간격 트리와 같은 좀 더 전문적인 구조도 다룹니다. 장마다 C 언어로 된 작업 코드의 예와 작업을 지원하는 참조가 포함되어 있습니다. 데이터 저장소의 복잡성에 관한 교과서이므로 많은 세부사항과 포괄적인 내용이 빽빽이 담겨 있습니다.
8. “Automate This: How Algorithms Came To Rule Our World”(알고리즘으로 세상을 지배하라 - 기계 vs 인간의 일자리 전쟁), 저자: Christopher Steiner
저자: Christopher Steiner
웹 사이트: Chris Steiner | Amazon
알고리즘에 관한 대부분의 책과 비슷한 참고용 또는 입문용 설명서라기보다는 어떻게 알고리즘이 우리의 생활에서 점점 더 중요해졌는지, 이전에 수작업으로 해야 했던 전문적인 작업을 자동화하게 되기까지의 과정을 좀 더 역사적으로 살펴보는 책입니다.
알고리즘은 현재 자동차 운전, 증강형 엔터테인먼트 미디어 및 인간 행동 예측을 지원합니다. 이 책은 소수의 사람들만 이해할 수 있었던 알고리즘을 이해하기 쉬운 문화적 맥락에 대입하는 리뷰 또는 해설서에 가깝습니다.
고지 사항: Tableau는 이 웹 페이지에 나열된 제품 또는 그 안에 나온 의견을 공식적으로 홍보하거나 그로 인한 이득을 얻지 않으며 그와 같이 이 페이지는 제휴사 링크 프로그램을 포함하고 있지 않습니다. 이 문서는 순수하게 교육 목적으로 만들어졌으며 제품 및 출판물에 대한 위의 정보는 독자가 스스로 정보에 기반한 결정을 내릴 수 있도록 제공하는 것입니다.