간편결제, 신용카드 청구할인
네이버페이 1%
(네이버페이 결제 시 적립)
NH(올원페이)카드 12% (19,800원)
(3만원 이상 결제/최대 1만원 할인)
북피니언 롯데카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
하나SK 북&카드 30% (15,750원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (18,000원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (20,250원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (20,930원)
(최대할인 3만원 / 3만원 이상 결제)
Close

Learning JavaScript Data Structures and Algorithms (한국어판) : 자바스크립트 자료 구조와 알고리즘

원제 : Learning JavaScript Data Structures and Algorithms

2013년 9월 9일 이후 누적수치입니다.

판매지수 201
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

25,000원

  • 22,500 (10%할인)

    1,250P (5%적립)

할인혜택
적립혜택자동적립
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(321)

  • 사은품(2)

책소개

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

출판사 서평

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

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

이 책의 구성
1장, '자바스크립트 개요'에서는 자료 구조와 알고리즘을 배우기 전에 필요한 기본적인 내용과 이 책의 예제 코드 실습에 필요한 개발 환경 설정을 설명한다.
2장, '배열'에서는 자료 구조의 가장 기본이면서 많이 쓰이는 배열에 대해 다룬다. 배열의 원소를 선언, 초기화, 추가, 삭제하는 방법을 구체적인 예시로 설명하고, 자바스크립트 내장 메소드에 대해서도 알아본다.
3장, '스택'에서는 스택 자료 구조를 설명하고, 스택의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 스택을 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아본다.
4장, '큐'에서는 큐 자료 구조를 설명하고, 큐의 생성 방법과 원소를 추가/삭제하는 방법을 살펴본다. 큐를 이용해 컴퓨터 과학의 문제들을 어떻게 해결하는지 알아보고, 스택과 큐의 차이점을 비교한다.
5장, '연결 리스트'에서는 객체와 포인터 개념을 가지고 연결 리스트 자료 구조를 만들어본다. 원소의 선언, 생성, 추가, 삭제하는 방법 외에도 이중 연결 리스트, 환형 연결 리스트 등의 변형된 형태의 연결 리스트에 대해서도 알아본다.
6장, '집합'에서는 집합 자료 구조를 소개하고, 비반복적인 원소를 저장하는 방법을 알아본다. 몇 가지 상이한 집합 연산에 대해 살펴보고 각각을 어떻게 구현할지, 어떻게 활용할지 배운다.
7장, '딕셔너리와 해시'에서는 딕셔너리, 해시 자료 구조와 둘 사이의 차이점을 설명한다. 두 자료 구조를 선언, 생성, 활용하고, 해시 충돌을 우회해 더 나은 해시 함수를 만드는 기법 등을 알아본다.
8장, '트리'에서는 트리 자료 구조와 관련 용어를 설명하고, 이진 탐색 트리와 노드를 탐색, 순회, 추가, 삭제하는 메소드를 집중적으로 다룬다. 흥미진진한 트리의 세계로 안내하고, 다음 단계에서 학습해야 할 트리 알고리즘을 제시한다.
9장, '그래프'에서는 놀라운 그래프 자료 구조의 세계로 여러분을 초대한다. 그래프를 응용해 실생활의 갖가지 문제들을 해결하는 방법과 일반적인 그래프 용어들, 그래프를 표현하는 여러 가지 방법, 너비 우선, 깊이 우선 탐색 알고리즘으로 그래프를 순회하는 방법과 응용 사례를 살펴본다.
10장, '정렬과 검색 알고리즘'에서는 가장 많이 쓰이는 정렬 알고리즘(버블 정렬, 선택 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬)과 탐색 알고리즘(순차 검색, 이진 검색)을 다룬다.
11장, '그 밖의 알고리즘'에서는 몇몇 알고리즘을 추가로 소개하고 O 표기법의 개념을 설명한다. 재귀 개념을 비롯해서 동적 프로그래밍과 욕심쟁이 알고리즘 같은 고급 알고리즘 기법을 다룬다. 마지막으로, 여러분이 책거리를 한 이후에 공부할 내용을 제시한다.
부록, 'O 표기법 정리'에서는 이 책에서 배운 알고리즘의 복잡도를 O 표기법으로 정리한 표를 제공한다.

지은이의 말
자바스크립트는 오늘날 세상에서 가장 인기 있는 프로그래밍 언어다. 별다른 플러그인을 설치하지 않아도 대부분의 인터넷 브라우저가 해석할 수 있어서 자바스크립트를 '인터넷 언어'라고도 부른다. 끊임없이 성장을 거듭한 덕분에 이제 자바스크립트는 단순히 프론트엔드를 구현하는 언어뿐만 아니라, 서버(노드JS(Node.js))와 데이터베이스(몽고DB(MongoDB))에서도 활용하고 있다.
자료 구조는 IT 전문가라면 누구에게나 아주 중요한 필수 과목이다. 개발자로서 업무를 한다는 자체가 프로그래밍 언어와 자료 구조를 이용해 문제를 해결한다는 말이나 다름없기 때문이다. 실로 자료 구조는 프로그래머가 문제를 풀기 위해 필요한 필수 교과서다. 자료 구조를 잘못 선택하면 여러분이 작성한 프로그램의 성능에 부정적인 영향을 끼칠 수 있으므로 다양한 자료 구조의 특징과 적용 방법을 명확히 알고 있어야 한다.
알고리즘은 컴퓨터 과학의 예술이다. 같은 문제에 맞닥뜨리게 되더라도 해법은 여러 가지가 있을 수 있는데, 저마다 장단점이 있다. 따라서 널리 잘 알려진 검증된 알고리즘을 제대로 이해하고 활용할 수 있어야 한다.
모쪼록 행복한 코딩 하시길 바란다!

옮긴이의 말
처음 이 책의 번역을 제의 받고 검토해봤을 때는 이미 너무나 잘 알려져 너무 흔한 주제가 아닌가 싶었는데, 일반적으로 자료 구조와 알고리즘 코드 관련 서적에서 많이 쓰는 C 언어가 아닌, '자바스크립트' 언어를 사용한다는 점이 신선하다고 생각했습니다. 물론, 프로그래밍의 기본 체력을 다지는 데 어떤 언어로 구사할지는 그리 중요하지 않을 수도 있지만, 많은 사람에게 비교적 친숙한 자바스크립트 언어를 써서 적어도 IT 초심자들이 쉽게 시작할 수 있게 배려한 점은 참 마음에 듭니다.

제가 현장에서 프로젝트를 수행하면서 늘 느끼는 것 하나는, 평소에는 별로 찾아볼 일이 없을 것 같은 자료 구조, 알고리즘 지식이 위기에 봉착했을 때 결정적인 한 방을 한다는 사실입니다. 알고리즘을 잘 구사할 줄 모르는 사람이 무턱대고 대충 실행 가능한 정도로만 작성해놓은 코드가 나중에 시스템 오픈 이후에 서버 성능 등에 어떤 식으로든 영향을 미치게 되어 결국 프로젝트의 성패가 좌우되는 경우를 목격한 분들도 적지 않을 것입니다.

그런데 최근 수년간 새로 IT 분야에 진출한 엔트리 레벨의 기술자들을 보면, DB나 MVC 프레임워크 등은 비교적 잘 알고 있으면서도, 기본적인 연결 리스트나 정렬 알고리즘 개념에서는 개념이 박약해서 고객의 요구사항에 맞게 효과적으로 서버 로직을 구사하지 못하는 경우가 많습니다. 사정이 이러한데도 아직도 많은 국내 기업이 IT 개발자를 채용할 때 각종 툴이나 프레임워크 위주의 경험 유무만을 따지려는 풍토가 사라지지 않고 있어 매우 안타깝게 생각합니다. 어쨌든 구글과 IBM 같은 글로벌 IT 기업에서 꿈을 펼치고 싶은 현직 개발자, 또는 예비 프로그래머라면 기술 면접 시 빠지지 않는 단골 메뉴인 자료 구조와 알고리즘에 더더욱 박식한 프로그래머가 되어야 할 테니, 이 책을 읽으면서 본인의 프로그래밍 구사 능력을 점검해보시고 끊임없이 절차탁마하시기 바랍니다.

목차

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) [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

브라질 상파울루에 살고 있으며, 8년 넘게 소프트웨어 개발을 해왔다. 대학 시절 IT에 큰 열정을 갖게 되면서 2년 반 동안 알고리즘, 자료 구조, 컴퓨팅 이론을 가르치는 보조 교사로 근무했다. ACM 국제 대학생 프로그래밍 경진대회에 학교 대표로 참가해 브라질 결선(남미 지역)에 오르기도 했던 그녀는 2년간 브라질 컴퓨팅 협회(SBC)의 학생 대표를 맡기도 했다. 4학년 때는 컴퓨터 공학부에서 TOP 3에 뽑히면서 공로상을 받았고 우등생으로 졸업했다.
이후 IBM 같은 다국적 기업에서 근무하면서 자바 SE/EE, 센차(Sencha) 기술(Ext JS와 센차 터치(Sench Touch)) 전문

펼쳐보기

저자의 다른책

전체보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

13여 년 동안 자바/스칼라 개발자, 애플리케이션 아키텍트로 활동하며 엔터프라이즈 프로젝트 현장을 누벼온 야전형 정보 기술자이자 한 여인과 두 딸의 사랑을 한 몸에 받고 사는 행복한 딸바보입니다. 2014년 이후로 십수 권의 IT 전문서를 번역하며 동료, 후배 개발자들과 지식과 경험을 나누는 일에도 힘쓰고 있습니다. 시간이 나면 피아노를 연주합니다.

이 상품의 시리즈

acorn+PACKT 시리즈(총 351권 / 현재구매 가능도서 322권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용