쉽게 설명한 자바스크립트 알고리즘 - 쉬운 설명과 실용적 예제로 배우는 알고리즘
한상훈 지음 / 영진.com(영진닷컴) / 2024년 8월
평점 :
장바구니담기


출판사로부터 도서를 제공받아 작성한 리뷰입니다.

​프론트/백엔드는 기본이고 인공지능 관련 석사 학위를 취득했다. 다룰 수 있는 언어는 C, Java, Python, Javascript 등 웬만하게 많이들 사용하는 언어는 다 사용하고 있다.

이것저것 배우다보니 관련 서적을 정말 많이 읽었다. 이번에 받은 알고리즘 서적도 그렇다. 사실 자바스크립트로 작성한 알고리즘 책은 처음 읽어봤다. 시중에 많이 없는 건 아닌데, 주로 알고리즘은 언어를 막 배우기 시작할 때 배워서 C, Java, Python으로만 배워봤는데 좋은 기회가 있어 자바스크립트 알고리즘 책을 읽게 되었다!



원래 책 표지 부분의 저자란은 잘 읽지 않는데, 이상하게 눈이 갔다.(운명?)

저자인 한상훈님은 신소재공학을 전공한 뒤 개발사를 창업하고, 군복무 이후 다른 회사를 창업하여 다양한 스타트업 팀들과 함께 일하며 경력을 이어갔다고 한다. 이후에 서술하겠지만, 다양한 경험을 통해 전문성도 있을 뿐더러 알고리즘을 쉽게 설명한 재밌는 책이 나온 것 같다.

책에 대한 간략한 평가

책 내용을 설명하자면, 자바스크립트로 된 설명과 예제를 통해 다양한 알고리즘을 배울 수 있는 책이다. 기존에 알고리즘을 공부한 사람이 굉장히 새로운 지식을 배울 수 있느냐? 그렇다면 아니다. 그런데 이것은 다른 알고리즘 책도 그렇다.

큐나 스택, 해시맵(Javascript니까 Object라고 해야 맞으려나 ㅎㅎ)과 같은 설명은 없지만 공간 복잡도나 빅오 표기법 등 알고리즘 설명에 빠지지 않는 부분도 잘 설명이 되어있다. 그리고 책이 가볍고 얇은데 생각보다 많은 알고리즘이 잘 설명이 되어있다. 쓰잘데기 없는 내용을 빼고 알고리즘에 대한 핵심과 예제들로만 되어있어서인가..?

이 책의 특징

다양한 알고리즘에 대해 "쉽게" 설명이 되어있다는 것이다.

쉽게란 무엇인가? 아무리 설명을 잘 한다 해도, 듣는 사람이 이해가 안되면 좋은 설명이 아니듯, 이 책은.. 그런 불상사를 막기 위해 정말 다양하고 친근한 예제를 많이 제공한다. 이를테면 정렬을 설명하며 배달 앱의 추천 알고리즘, 마법 포션 예제, 트럼프 카드 정렬이나 스타크래프트 등의 소재를 사용한다는 것이다.

내가 처음 알고리즘을 배울 때 C언어로 스택을 배웠는데, 하노이의 탑 알고리즘을 배웠던 것 같은데 정말 정말 정말 어려웠다. 일단 자료형의 특징을 이해해야했고, 코드가 실행되는 방식을 이해해야했고, 하노이의 탑 알고리즘을 이해해야 했다. 그런데... 하노이의 탑은 아는데, 하노이의 탑을 풀 수 있는 공식을 알고 있던게 아니어서 정말 어려웠다....

그런데 Javascript의 특징으로 알고리즘을 설명하다보니 이런 문제가 훨씬 덜했다. 일단, 복잡하게 자료형을 신경 쓸 필요가 없다. Javascript는 어떤 자료형이든 var, let, const 등의 예약어로 선언을 해서 쓰기 때문에, 어떤 자료형을 쓰든지 그냥 사용하면 된다. 그리고, 위에 설명했던 친근한 소재의 예제를 사용하여 처음 알고리즘을 접하는 사람에게도 거부감이 훨씬 덜할 것 같다.


굉장히 다양한 분야를 소재로 사용하여 설명한다. 게임, 등산, 바텐더, 테러리스트, ...

C, Java, Python으로 된 알고리즘 서적을 다 읽어보았지만, 언어 자체가 매력적인 자바스크립트로 되어있어서 애초에 진입 장벽이 확 낮아서 이 책으로 알고리즘 공부할 때는 알고리즘에만 초점을 맞추고 공부할 수 있고, 예제까지 친근한 소재를 사용해서 더 읽기 쉽다. 완전 컬러풀로 반짝반짝 하진 않지만, 그림도 정말 많다. 그리고 종이 소재도 손에서 미끄러지는 소재가 아니라 A4용지의 종이 그 느낌이라 읽을 때 거부감도 없다.

이 책에서 설명하는 알고리즘이 굉장히 다양한데, 한 알고리즘에 대해 설명 및 예제, 예제코드 등도 다양해서 한 알고리즘에 대해서 다양한 방식으로 적용하는 방법을 연습할 수 있다.

정렬, 검색, 동적 알고리즘과 탐욕 알고리즘에 대해서도 설명이 되어있고 가비지 콜렉션에 대한 내용도 덤으로 들어서 알고리즘을 공부하려는 사람에게 강추! 할만한 책이다.

#자바스크립트 #알고리즘

#IT #쉽게설명한자바스크립트알고리즘



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
공유하기 북마크하기찜하기 thankstoThanksTo