
Learning JavaScript Data Structures and Algorithms 한국어판 [자바스크립트 자료 구조와 알고리즘]
- 원서명Learning JavaScript Data Structures and Algorithms (ISBN 9781783554874)
- 지은이로이아니 그로네르(Loiane Groner)
- 옮긴이이일웅
- ISBN : 9788960777842
- 25,000원
- 2015년 11월 19일 펴냄
- 페이퍼백 | 256쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 웹 프로페셔널
책 소개
이 책의 예제 코드는 웹에서 실습해볼 수 있도록 JSFiddle에 게시해두었습니다. 여기에서 내려 받으세요.
요약
자료 구조와 알고리즘은 프로그래밍의 기본 중의 기본이지만, 처음 공부하는 사람에게는 결코 배우기가 만만치 않고 따분할 수 있는 과목이다. 이 책은 인터넷 브라우저만 있으면 곧바로 코드를 실행해볼 수 있게, 우리에게 친숙한 자바스크립트 언어를 사용해 딱딱하고 재미없는 자료 구조와 알고리즘 학습을 쉽고 명쾌하게 풀어준다.
이 책에서 다루는 내용
■ 배열, 스택, 큐에서 원소의 선언, 추가, 삭제
■ DFS와 BFS 알고리즘으로 가장 복잡한 자료 구조인 그래프를 만들어 사용
■ 연결 리스트, 이중 연결 리스트, 환형 연결 리스트의 강력한 쓰임새 이해
■ 해시 테이블, 딕셔너리, 집합으로 중복되지 않는 원소 저장
■ 이진 트리와 이진 탐색 트리의 응용
■ 버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬 알고리즘을 이용한 자료 구조 정렬
■ 순차 탐색과 이진 탐색으로 자료 구조의 원소 찾기
■ O 표기법의 중요성과 동적 프로그래밍, 욕심쟁이 알고리즘 이해
이 책의 대상 독자
자바스크립트 개발자, 또는 자바스크립트의 기초 지식을 갖춘 사람이라면 자바스크립트의 최적화된 코드를 살펴보면서 빠르게 책장을 넘겨볼 수 있을 것이다. 알고리즘 공부를 재미있게 시작하려면 약간의 프로그래밍 지식은 필요하다.
이 책의 구성
1장, ‘자바스크립트 개요’에서는 자료 구조와 알고리즘을 배우기 전에 필요한 기본적인 내용과 이 책의 예제 코드 실습에 필요한 개발 환경 설정을 설명한다.
2장, ‘배열’에서는 자료 구조의 가장 기본이면서 많이 쓰이는 배열에 대해 다룬다. 배열의 원소를 선언, 초기화, 추가, 삭제하는 방법을 구체적인 예시로 설명하고, 자바스크립트 내장 메소드에 대해서도 알아본다.
3장, ‘스택’에서는 스택 자료 구조를 설명하고, 스택의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 스택을 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아본다.
4장, ‘큐’에서는 큐 자료 구조를 설명하고, 큐의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 큐를 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아보고, 스택과 큐의 차이점을 비교한다.
5장, ‘연결 리스트’에서는 객체와 포인터 개념을 가지고 연결 리스트 자료 구조를 만들어본다. 원소의 선언, 생성, 추가, 삭제하는 방법 외에도 이중 연결 리스트, 환형 연결 리스트 등의 변형된 형태의 연결 리스트에 대해서도 알아본다.
6장, ‘집합’에서는 집합 자료 구조를 소개하고, 비반복적인 원소를 저장하는 방법을 알아본다. 몇 가지 상이한 집합 연산에 대해 살펴보고 각각을 어떻게 구현할지, 어떻게 활용할지 배운다.
7장, ‘딕셔너리와 해시’에서는 딕셔너리, 해시 자료 구조와 둘 사이의 차이점을 설명한다. 두 자료 구조를 선언, 생성, 활용하고, 해시 충돌을 우회해 더 나은 해시 함수를 만드는 기법 등을 알아본다.
8장, ‘트리’에서는 트리 자료 구조와 관련 용어를 설명하고, 이진 탐색 트리와 노드를 탐색, 순회, 추가, 삭제하는 메소드를 집중적으로 다룬다. 흥미진진한 트리의 세계로 안내하고, 다음 단계에서 학습해야 할 트리 알고리즘을 제시한다.
9장, ‘그래프’에서는 놀라운 그래프 자료 구조의 세계로 여러분을 초대한다. 그래프를 응용해 실생활의 갖가지 문제들을 해결하는 방법과 일반적인 그래프 용어들, 그래프를 표현하는 여러 가지 방법, 너비 우선, 깊이 우선 탐색 알고리즘으로 그래프를 순회하는 방법과 응용 사례를 살펴본다.
10장, ‘정렬과 검색 알고리즘’에서는 가장 많이 쓰이는 정렬 알고리즘(버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬)과 탐색 알고리즘(순차 검색, 이진 검색)을 다룬다.
11장, ‘그 밖의 알고리즘’에서는 몇몇 알고리즘을 추가로 소개하고 O 표기법의 개념을 설명한다. 재귀 개념을 비롯해서 동적 프로그래밍과 욕심쟁이 알고리즘 같은 고급 알고리즘 기법을 다룬다. 마지막으로, 여러분이 책거리를 한 이후에 공부할 내용을 제시한다.
부록, ’O 표기법 정리’에서는 이 책에서 배운 알고리즘의 복잡도를 O 표기법으로 정리한 표를 제공한다.