장바구니 담기 close

장바구니에 상품을 담았습니다.

Learning JavaScript Data Structures and Algorithms(한국어판)

Learning JavaScript Data Structures and Algorithms(한국어판)

  • 로이아니 그로네르
  • |
  • 에이콘출판
  • |
  • 2015-11-19 출간
  • |
  • 256페이지
  • |
  • 188 X 235 X 16 mm /616g
  • |
  • ISBN 9788960777842
★★★★★ 평점(10/10) | 리뷰(1)
판매가

25,000원

즉시할인가

22,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
22,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책에서 다루는 내용 ★

■ 배열, 스택, 큐에서 원소의 선언, 추가, 삭제
■ DFS와 BFS 알고리즘으로 가장 복잡한 자료 구조인 그래프를 만들어 사용
■ 연결 리스트, 이중 연결 리스트, 환형 연결 리스트의 강력한 쓰임새 이해
■ 해시 테이블, 딕셔너리, 집합으로 중복되지 않는 원소 저장
■ 이진 트리와 이진 탐색 트리의 응용
■ 버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬 알고리즘을 이용한 자료 구조 정렬
■ 순차 탐색과 이진 탐색으로 자료 구조의 원소 찾기
■ O 표기법의 중요성과 동적 프로그래밍, 욕심쟁이 알고리즘 이해

★ 이 책의 대상 독자 ★

자바스크립트 개발자, 또는 자바스크립트의 기초 지식을 갖춘 사람이라면 자바스크립트의 최적화된 코드를 살펴보면서 빠르게 책장을 넘겨볼 수 있을 것이다. 알고리즘 공부를 재미있게 시작하려면 약간의 프로그래밍 지식은 필요하다.

★ 이 책의 구성 ★

1장, ‘자바스크립트 개요’에서는 자료 구조와 알고리즘을 배우기 전에 필요한 기본적인 내용과 이 책의 예제 코드 실습에 필요한 개발 환경 설정을 설명한다.

2장, ‘배열’에서는 자료 구조의 가장 기본이면서 많이 쓰이는 배열에 대해 다룬다. 배열의 원소를 선언, 초기화, 추가, 삭제하는 방법을 구체적인 예시로 설명하고, 자바스크립트 내장 메소드에 대해서도 알아본다.

3장, ‘스택’에서는 스택 자료 구조를 설명하고, 스택의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 스택을 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아본다.

4장, ‘큐’에서는 큐 자료 구조를 설명하고, 큐의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 큐를 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아보고, 스택과 큐의 차이점을 비교한다.

5장, ‘연결 리스트’에서는 객체와 포인터 개념을 가지고 연결 리스트 자료 구조를 만들어본다. 원소의 선언, 생성, 추가, 삭제하는 방법 외에도 이중 연결 리스트, 환형 연결 리스트 등의 변형된 형태의 연결 리스트에 대해서도 알아본다.

6장, ‘집합’에서는 집합 자료 구조를 소개하고, 비반복적인 원소를 저장하는 방법을 알아본다. 몇 가지 상이한 집합 연산에 대해 살펴보고 각각을 어떻게 구현할지, 어떻게 활용할지 배운다.

7장, ‘딕셔너리와 해시’에서는 딕셔너리, 해시 자료 구조와 둘 사이의 차이점을 설명한다. 두 자료 구조를 선언, 생성, 활용하고, 해시 충돌을 우회해 더 나은 해시 함수를 만드는 기법 등을 알아본다.

8장, ‘트리’에서는 트리 자료 구조와 관련 용어를 설명하고, 이진 탐색 트리와 노드를 탐색, 순회, 추가, 삭제하는 메소드를 집중적으로 다룬다. 흥미진진한 트리의 세계로 안내하고, 다음 단계에서 학습해야 할 트리 알고리즘을 제시한다.

9장, ‘그래프’에서는 놀라운 그래프 자료 구조의 세계로 여러분을 초대한다. 그래프를 응용해 실생활의 갖가지 문제들을 해결하는 방법과 일반적인 그래프 용어들, 그래프를 표현하는 여러 가지 방법, 너비 우선, 깊이 우선 탐색 알고리즘으로 그래프를 순회하는 방법과 응용 사례를 살펴본다.

10장, ‘정렬과 검색 알고리즘’에서는 가장 많이 쓰이는 정렬 알고리즘(버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬)과 탐색 알고리즘(순차 검색, 이진 검색)을 다룬다.

11장, ‘그 밖의 알고리즘’에서는 몇몇 알고리즘을 추가로 소개하고 O 표기법의 개념을 설명한다. 재귀 개념을 비롯해서 동적 프로그래밍과 욕심쟁이 알고리즘 같은 고급 알고리즘 기법을 다룬다. 마지막으로, 여러분이 책거리를 한 이후에 공부할 내용을 제시한다.

부록, ’O 표기법 정리’에서는 이 책에서 배운 알고리즘의 복잡도를 O 표기법으로 정리한 표를 제공한다.

목차

1 자바스크립트 개요
__환경 세팅
____브라우저 하나면 충분하다
____웹 서버(XAMPP) 사용하기
____순수 자바스크립트 환경(노드JS)
__자바스크립트 기초
____변수
________변수 스코프
____연산자
____Truthy와 Falsy
____동등 연산자(= =/= = =)
__제어 구조
____조건문
____루프문
__함수
__객체지향 프로그래밍
__디버깅 툴
__정리

2 배열
__왜 배열을 사용하는가?
__배열의 생성과 초기화
__원소 추가와 삭제
__2차원과 다차원 배열
__자바스크립트 배열 메소드 정리
____여러 배열 합치기
____반복자 함수
____검색과 정렬
________사용자 정의 정렬
________문자열 정렬
________검색
____배열을 문자열로 변환
__정리

3 스택
__스택 만들기
____완성된 Stack 클래스
________Stack 클래스 사용
__10진수에서 2진수로 변환
__정리

4 큐
__큐 만들기
____완성된 Queue 클래스
____Queue 클래스 사용
__우선순위 큐
__환형 큐(뜨거운 감자)
__정리

5 연결 리스트
__연결 리스트 만들기
____리스트 끝에 원소 추가하기
____원소 삭제
____임의의 위치에 원소 삽입하기
____그 밖의 메소드 구현
________toString 메소드
________indexOf 메소드
________isEmpty, size, getHead 메소드
__이중 연결 리스트
____임의의 위치에 원소 삽입
____원소 삭제
__환형 연결 리스트
__정리

6 집합
__집합 만들기
____has(원소) 메소드
____add 메소드
____remove와 clear 메소드
____size 메소드
____values 메소드
____Set 클래스 사용
__집합 연산
____합집합
____교집합
____차집합
____부분집합
__정리

7 딕셔너리와 해시
__딕셔너리
____딕셔너리 만들기
________has와 set 메소드
________remove 메소드
________get과 values 메소드
________clear, size, keys, getItems 메소드
____딕셔너리 클래스 사용
__해시 테이블
____해시 테이블 만들기
____HasthTable 클래스 사용
____해시 테이블과 해시 집합 비교
____해시 테이블 간 충돌 해결
________체이닝
________선형 탐색법
____해시 함수 개선
__정리

8 트리
__트리 용어
__이진 트리와 이진 탐색 트리
____BinarySearchTree 클래스 만들기
____트리에 키 삽입하기
__트리 순회
____중위 순회
____전위 순회
____후위 순회
__트리 노드 검색
____최솟값/최댓값 찾기
____특정 값 찾기
____노드 삭제
________리프 노드인 경우
________좌/우측 어느 한쪽에만 자식 노드가 있는 경우
________두 자식을 모두 가진 노드일 경우
__이진 트리 보충 내용
__정리

9 그래프
__그래프 용어
____방향/무방향 그래프
__그래프 나타내기
____인접 행렬
____인접 리스트
____근접 행렬
__Graph 클래스 만들기
__그래프 순회
____너비 우선 탐색(BFS)
________BFS로 최단 경로 찾기
________최단 경로 알고리즘 관련 보충 내용
____깊이 우선 탐색(DFS)
________DFS 알고리즘 탐구
________DFS를 이용한 위상 정렬
__정리

10 정렬과 검색 알고리즘
__정렬 알고리즘
____버블 정렬
________개선된 버블 정렬
____선택 정렬
____삽입 정렬
____병합 정렬
____퀵 정렬
________파티션 과정
________퀵 정렬 실행
__검색 알고리즘
____순차 검색
____이진 검색
__정리

11 그 밖의 알고리즘
__재귀
____자바스크립트에서 호출 스택 크기의 한계
____피보나치 수열
__동적 프로그래밍
____최소 동전 교환 문제
__욕심쟁이 알고리즘
____최소 동전 바꾸기 문제
__O 표기법
____O 표기법 이해
________O(1)
________O(n)
________O(n2)
__알고리즘 복잡도 비교
__재미있는 알고리즘의 세계로!
__정리

부록 O 표기법 정리
__자료 구조
__그래프
__정렬 알고리즘
__검색 알고리즘

저자소개

저자 로이아니 그로네르(Loiane Groner)는 브라질 상파울루에 살고 있으며, 8년 넘게 소프트웨어 개발을 해왔다. 대학 시절 IT에 큰 열정을 갖게 되면서 2년 반 동안 알고리즘, 자료 구조, 컴퓨팅 이론을 가르치는 보조 교사로 근무했다. ACM 국제 대학생 프로그래밍 경진대회에 학교 대표로 참가해 브라질 결선(남미 지역)에 오르기도 했던 그녀는 2년간 브라질 컴퓨팅 협회(SBC)의 학생 대표를 맡기도 했다. 4학년 때는 컴퓨터 공학부에서 TOP 3에 뽑히면서 공로상을 받았고 우등생으로 졸업했다.
이후 IBM 같은 다국적 기업에서 근무하면서 자바 SE/EE, 센차(Sencha) 기술(Ext JS와 센차 터치(Sench Touch)) 전문가로 일했다. 지금은 금융 회사의 소프트웨어 개발 관리자로 일하면서 해외 솔루션을 담당하고 있다. 비상임 센차 컨설턴트 및 고문으로도 활동 중이다.
팩트출판사에서 출판된 『Ext JS First Look』, 『Mastering Ext JS』, 『Sencha Architect App Development』 도서를 집필했다.
센차와 자바의 열성적인 팬인 그녀는 브라질 자바 유저 그룹인 캠피나스 자바 유저 그룹(CompinasJUG, Campinas Java Users Group)과 에스피리토 산토 자바 유저 그룹(ESJUG, Espirito Santo Java Users Group)에서 각각 리더와 코디네이터 역할을 맡고 있다.
개인 블로그(http://loianegroner.com(영어), http://loiane.com(포르투갈어))를 운영 중이고, 여기에 자신의 IT 커리어와 Ext JS, 센차 터치, 폰갭(PhoneGap), 스프링 프레임워크(Spring Framework), 그리고 각종 개발 노트와 출판 스크린캐스트 등을 올리면서 소프트웨어 개발 커뮤니티 활성화에도 헌신적이다.
페이스북(https://www.facebook.com/loianegroner)과 트위터(@loiane)로 연락할 수 있다.

도서소개

자료 구조와 알고리즘은 프로그래밍의 기본 중의 기본이지만, 처음 공부하는 사람에게는 결코 배우기가 만만치 않고 따분할 수 있는 과목이다. 이 책 [자바스크립트 자료 구조와 알고리즘(Learning JavaScript Data Structures and Algorithms)]은 인터넷 브라우저만 있으면 곧바로 코드를 실행해볼 수 있게, 우리에게 친숙한 자바스크립트 언어를 사용해 딱딱하고 재미없는 자료 구조와 알고리즘 학습을 쉽고 명쾌하게 풀어준다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.