읽는 것만으로 충분하다!
쉽고 빠르게 이해하는 알고리즘과 자료 구조!
알고리즘은 계산이나 작업을 수행하는 순서이자, 어떤 문제를 컴퓨터로 푸는 순서입니다. ‘나열된 수를 작은 순서로 정렬하기’, ‘출발지에서 목적지까지 최단 경로 찾기’ 같은 문제를 풀 수 있습니다. 컴퓨터는 정해진 기본 명령, 즉 덧셈이나 메모리 주소에 값을 보존하는 명령은 빠르게 수행하지만, 복잡한 명령은 실행하지 못합니다. 컴퓨터에게 "나열된 수를 작은 순서로 정렬하기" 같은 문제는 복잡한 작업이죠. 이 복잡한 작업 순서를 컴퓨터가 실행할 수 있도록 기본 명령을 조합해 작성하는 것이 바로 알고리즘 설계입니다.
이 책은 기본적인 알고리즘 33개와 자료 구조 7개의 동작 원리를 100% 그림으로, 쉽고 친절하고 자세하게 설명합니다. 이 책을 통해 알고리즘이 어떤 논리로, 어떤 과정으로, 어떻게 동작하는지, 그 프로세스를 그림으로 따라가면서 이미지화 할 수 있고, 이는 알고리즘의 아이디어나 구조를 이해하는 데 큰 도움이 될 것입니다. 좋은 코드를 작성하기 위해 반드시 알아야 하는 재미있는 알고리즘의 세계를 그림으로 쉽고 즐겁게 배워봅시다.
[옮긴이의 한마디]
계속 새롭게 등장하는 알고리즘과 용어를 이해하고 응용하는 것은 개발자의 숙명입니다. 개발자로서 스트레스 없이 살아가기 위해서는 새로운 용어나 알고리즘이 나오더라도 쉽게 이해할 수 있다는 자신감이 무척 중요합니다. 막상 이해하면 별거 아니라는 자신감으로 누구보다 먼저 정면으로 부딪쳐 맞서야 합니다. 이러한 자신감을 가지기 위해서는 대표적인 알고리즘을 확실히 알아 두는 것이 좋습니다.
또한, 알고리즘의 구체적인 부분을 살펴보기에 앞서 추상적으로 그 원리를 이해하는 것이 좋습니다. 특히 알고리즘이 관리하는 상태의 변화를 그림과 숫자로 추적하면서 이해하는 것이 상당히 도움이 됩니다. 그래서 알고리즘을 공부하려는 분에게 다른 책보다 이 책을 먼저 읽기를 권하고 싶습니다. 그림의 도움을 받아 쉽고 빠르게 이해한 뒤 더 구체적인 내용을 추가로 학습하는 접근법을 추천합니다.
[베타리더 후기]
현대에는 공학 문제를 해결하기 위해 코딩과 시뮬레이션이 반드시 필요합니다. 그리고 알고리즘과 자료 구조를 적절히 활용하면 프로그램의 실행 시간과 컴퓨팅 자원 소모를 엄청나게 줄일 수 있습니다. 그러나 이를 잘 이해하는 사람은 많지 않습니다.
이 책은 그림을 활용하여 알고리즘과 자료 구조를 직관적으로 설명하는 특별한 책입니다. 글로는 전달하기 어려운 내용을 시각적으로 이해하기 쉽게 설명하기 때문입니다. 이 책은 컴퓨터공학 분야의 입문자뿐만 아니라 전기전자 분야를 공부하는 학생에게도 알고리즘과 자료 구조의 중요성을 강조하고 직관적인 이해를 높여주는 데 도움이 될 것입니다.
이우찬_인천대학교 전기공학과 교수
제목에서 말한 대로 그림이 책의 절반입니다. 그만큼 읽기 편하고 이해도 정말 잘됩니다. 또한 단순히 시험을 위한 알고리즘뿐 아니라 보안 알고리즘 등도 다루는데, 최근에 정말 많은 보안 알고리즘을 읽어 보았지만 이 책만큼 쉽게 정리된 책은 못 봤습니다.
이장훈_ 4년 차 DevOps 엔지니어
알고리즘의 원리와 내용을 모두 그림으로 설명합니다. 그림을 통해 알고리즘 입문자가 원리를 이해하도록 도와줍니다. 특히 보안 알고리즘은 프로그래밍에서 중요한 영역인 데이터 보안의 내용과 연관 지어 설명해주어 현재 보안 기술이 어떠한 원리로 이루어져 있는지 이해할 수 있었습니다.
최인주_에스에스지닷컴 백엔드 개발자
자료 구조와 정렬, 탐색에 해당하는 알고리즘뿐 아니라 보안과 데이터 압축 등에 대한 알고리즘도 익힐 수 있는 책입니다. 모든 설명을 그림으로 하기 때문에 데이터의 흐름이 눈에 잘 들어옵니다. 평소 부족하다고 생각했던 알고리즘이 있었다면, 개념을 잘 정리하는 데 도움을 줄 것입니다.
박수빈_엔씨소프트 15년차 안드로이드 개발자
알고리즘 관련 지식들이 순서대로, 컬러로 정리되어 이해하기 쉬웠습니다. 버블 정렬, 삽입 정렬을 이해하려고 고생을 많이 했는데, 순서대로 그림을 볼 수 있어서, 정보처리기사 실기를 볼 때 아주 유용합니다. 두 정렬이 헷갈렸는데 색깔로 표시하니 눈에 확 들어와서 100% 이해했습니다.
임경륜_직장인 백엔드 개발자로 이직 준비 중
풍부한 그림과 명료한 설명, 간결한 구조로 최대한 이해하기 쉽게 이끌어 갑니다. 이 책을 완독하면 본격적으로 알고리즘을 어떻게 코드로 구현할 수 있는지 자신감이 붙을 것입니다.
이종원_ 시스템 엔지니어
복잡하고 어렵게 느껴졌던 알고리즘과 자료 구조를 깔끔한 그림으로 설명합니다. ‘이렇게 쉽게 표현할 수 있는 것이었나?’라는 생각이 들 정도네요. 덕분에 실전에서 사용하는 다양한 알고리즘과 자료 구조의 원리와 규칙을 이해할 수 있습니다.
김동우_프리랜서 백앤드 프로그래머