본문내용 바로가기

KYOBO 교보문고

[이북]갤럭시탭
[VORA]유튜브구독
숨겨진독립자금을찾아서
  • 교보인문학석강
  • 교보아트스페이스
  • 손글씨스타
  • 교보 손글씨 2019
  • 손글씨풍경
자바로 배우는 핵심 자료구조와 알고리즘
184쪽 | | 184*237*9mm
ISBN-10 : 1162240849
ISBN-13 : 9791162240847
자바로 배우는 핵심 자료구조와 알고리즘 중고
저자 앨런 B. 다우니 | 역자 유동환 | 출판사 한빛미디어
정가
16,000원
판매가
14,400원 [10%↓, 1,600원 할인]
배송비
2,500원 (판매자 직접배송)
제주도 추가배송비 : 3,000원
도서산간지역 추가배송비 : 5,000원
배송일정
지금 주문하면 2일 이내 출고 예정
모든 교환/반품/환불 접수는 판매자와 협의 후 접수를 해주셔야 하며 반품 접수 없이 임의로 반송하거나 우편으로 보낼 경우 환불이 불가할수 있습니다 제품 수령후 7일 이내에 교환이 가능합니다 고객의 단순변심으로 인한 반품/교환/환불 경우 왕복배송비 5.400원 발생
2018년 6월 1일 출간
제품상태
상태 최상 외형 최상 내형 최상
이 상품 최저가
12,790원 다른가격더보기
새 상품
14,400원 [10%↓, 1,600원 할인] 새상품 바로가기
수량추가 수량빼기

중고장터에 등록된 판매상품과 제품의 상태는 개별 판매자들이 등록, 판매하는 것으로 중개시스템만을 제공하는 교보문고는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다. 상단 제품상태와 하단 상품 상세를 꼭 확인하신 후 구입해주시기 바랍니다.

교보문고 결제 시스템을 이용하지 않은 직거래로 인한 피해 발생 시 교보문고는 일체 책임을 지지 않습니다.

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

중고책 추천 (판매자 다른 상품)

더보기

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

판매자 배송 정책

  • 모든 교환/반품/환불 접수는 판매자와 협의 후 접수를 해주셔야 하며 반품 접수 없이 임의로 반송하거나 우편으로 보낼 경우 환불이 불가할수 있습니다 제품 수령후 7일 이내에 교환이 가능합니다 고객의 단순변심으로 인한 반품/교환/환불 경우 왕복배송비 5.400원 발생

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
73 깨끗하고 좋은 책 보내주셔서 감사합니다. 5점 만점에 5점 sja*** 2020.11.07
72 만족합니다. 정말 빠른 배송이네요. 5점 만점에 5점 monica6*** 2020.10.14
71 상태가 아주좋아요 잘구매했습니다. 5점 만점에 5점 fbwnstk*** 2020.09.29
70 잘 왔습니다. 책 상태가 새책같아요 5점 만점에 5점 hoondor*** 2020.09.02
69 빨리 도착했습니다 감사합니다 5점 만점에 5점 kej900*** 2020.08.21

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진 만들기 이 책은 컴퓨터과학을 공부하거나 기술 인터뷰를 준비하는 소프트웨어 개발자를 위한 실용적인 책입니다. 자료구조와 알고리즘을 빠르게 배울 수 있도록 실용적이고 중요한 부분을 중점으로 설명합니다. 자료구조가 어떻게 동작하는지보다 어떻게 활용하는지에 초점을 맞추었습니다.
이 책은 웹 검색이라는 응용 분야에 집중합니다. 이 분야는 자료구조를 광범위하게 사용하며 자체로도 흥미롭고 중요합니다. 다른 책에서는 보기 어렵지만 기술 인터뷰에 필요한 내용입니다. 또한, 버전 관리와 유닛 테스트 같은 기본적인 소프트웨어 엔지니어링 실무 내용도 다룹니다. 장마다 배운 것을 확인할 수 있는 예제가 있고, 해답을 확인할 수 있는 자동화된 테스트도 제공합니다.

- 리스트와 맵 등의 자료구조 사용과 작동 방식 이해하기
- 위키피디아 페이지를 읽고, 분석하고, 결과 데이터 트리를 탐색하는 응용 프로그램 작성하기
- 코드를 분석하여 실행시간과 필요한 메모리양 예측하기
- 해시 테이블과 이진 검색 트리를 사용하여 맵 인터페이스 구현하기
- 크롤러로 웹 검색 엔진 구축하기

저자소개

저자 : 앨런 B. 다우니
저자 앨런 B. 다우니(Allen B. Downey)
올린 공과대학교(Olin College of Engineering)의 컴퓨터공학과 교수로, 웰즐리 대학교(Wellesley College)와 콜비 대학교(Colby College), UC 버클리 대학교(UC Berkeley)에서 강의하였습니다. UC 버클리 대학교에서 컴퓨터공학 박사 학위를, MIT에서 석사와 학사 학위를 받았습니다. 이 책 외에도 『Think Stats』(2013), 『파이썬을 활용한 베이지안 통계』(2014, 이상 한빛미디어)를 집필하였습니다.

역자 : 유동환
역자 유동환
책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에 안드로이드 앱을 개발하였습니다. 최근에는 선행플랫폼개발팀으로 자리를 옮겨 차세대 모바일 기술 프로젝트를 진행하고 있습니다. 자바카페와 한국자바개발자협의회(JCO)의 초기 멤버로 수년간 활동하였습니다.
집필한 책으로는 『안드로이드를 위한 Gradle』(2016)과 『RxJava 프로그래밍』(공저, 2017, 이상 한빛미디어)이 있고, 번역한 책으로는 『Professional Java Web Services』(2002, 정보문화사)와 『그레이들 레시피』(2016), 『Java 9 모듈 프로그래밍』(2018, 이상 한빛미디어)이 있습니다.

목차

CHAPTER 1 인터페이스
_1.1 리스트가 두 종류인 이유
_1.2 자바 interface
_1.3 List interface
_1.4 실습 1

CHAPTER 2 알고리즘 분석
_2.1 선택 정렬
_2.2 빅오 표기법
_2.3 실습 2

CHAPTER 3 ArrayList 클래스
_3.1 MyArrayList 메서드 분류하기
_3.2 add 메서드 분류하기
_3.3 문제 크기
_3.4 연결 자료구조
_3.5 실습 3
_3.6 가비지 컬렉션

CHAPTER 4 LinkedList 클래스
_4.1 MyLinkedList 메서드 분류하기
_4.2 MyArrayList와 MyLinkedList 비교하기
_4.3 프로파일
_4.4 결과 해석하기
_4.5 실습 4

CHAPTER 5 이중 연결 리스트
_5.1 성능 프로파일 결과
_5.2 LinkedList 메서드 프로파일하기
_5.3 LinkedList 끝에 더하기
_5.4 이중 연결 리스트
_5.5 자료구조 선택하기
CHAPTER 6 트리 순회
_6.1 검색 엔진
_6.2 HTML 파싱하기
_6.3 jsoup 사용하기
_6.4 DOM 트리 반복하기
_6.5 깊이 우선 탐색
_6.6 스택
_6.7 반복적 DFS

CHAPTER 7 철학으로 가는 길
_7.1 시작하기
_7.2 Iterable과 Iterator
_7.3 WikiFetcher
_7.4 실습 5

CHAPTER 8 인덱서
_8.1 자료구조 선택
_8.2 TermCounter
_8.3 실습 6

CHAPTER 9 Map 인터페이스
_9.1 MyLinearMap 구현하기
_9.2 실습 7
_9.3 MyLinearMap 분석하기

CHAPTER 10 해싱
_10.1 해싱
_10.2 해싱의 동작 방식
_10.3 해싱과 변형
_10.4 실습 8

CHAPTER 11 HashMap 클래스
_11.1 실습 9
_11.2 MyHashMap 분석하기
_11.3 트레이드오프
_11.4 MyHashMap 프로파일링
_11.5 MyHashMap 클래스 고치기
_11.6 UML 클래스 다이어그램

CHAPTER 12 TreeMap 클래스
_12.1 해싱의 문제점
_12.2 이진 탐색 트리
_12.3 실습 10
_12.4 TreeMap 구현하기

CHAPTER 13 이진 탐색 트리
_13.1 단순한 MyTreeMap 클래스
_13.2 값 탐색하기
_13.3 put 메서드 구현하기
_13.4 중위 순회
_13.5 로그 시간 메서드
_13.6 자가 균형 트리
_13.7 추가 실습

CHAPTER 14 영속성
_14.1 레디스
_14.2 레디스 클라이언트와 서버
_14.3 레디스 기반 인덱스 만들기
_14.4 레디스 데이터 타입
_14.5 실습 11
_14.6 추가 제안
_14.7 설계 힌트

CHAPTER 15 위키피디아 크롤링
_15.1 레디스 기반의 인덱서
_15.2 조회 성능 분석
_15.3 인덱싱 성능 분석
_15.4 그래프 순회
_15.5 실습 12

CHAPTER 16 불리언 검색
_16.1 크롤러 해답
_16.2 정보 검색
_16.3 불리언 검색
_16.4 실습 13
_16.5 Comparable과 Comparator
_16.6 확장

CHAPTER 17 정렬
_17.1 삽입 정렬
_17.2 실습 14
_17.3 병합 정렬 분석
_17.4 기수 정렬
_17.5 힙 정렬
_17.6 제한된 힙 정렬
_17.7 공간 복잡도

책 속으로

출판사 서평

이 책은 자료구조와 알고리즘에 대한 내용을 설명하기 위해 문제 풀이 형식으로 구성되어 있습니다. 14개의 실습을 통해 자바 언어에서 기본으로 제공하는 자료구조인 자바 컬렉션 프레임워크(Java Collections Framework, JCF)의 주요 ...

[출판사서평 더 보기]

이 책은 자료구조와 알고리즘에 대한 내용을 설명하기 위해 문제 풀이 형식으로 구성되어 있습니다. 14개의 실습을 통해 자바 언어에서 기본으로 제공하는 자료구조인 자바 컬렉션 프레임워크(Java Collections Framework, JCF)의 주요 클래스를 중심으로 개념을 학습하고 시간 복잡도를 분석하며 성능을 측정해 봅니다. 또한, 성능 개선에 대해서도 알려 줍니다.
자료구조와 알고리즘에 대한 이해는 소프트웨어의 품질을 높이는 아주 기본적인 작업입니다. 요즘은 빅데이터와 클라우드가 있고 이미 검증된 수많은 DBMS가 있지만, 단지 활용만 해서는 원하는 품질을 얻기 힘듭니다. 내가 잘 만들고 있는지, 이미 구현된 레거시 소프트웨어의 병목은 무엇인지 분석하려면 학부 과정에서 배우는 자료구조와 알고리즘이 단단한 기본기가 되기 때문입니다. 졸업하고 나면 세부 내용은 모두 잊히겠지만, 머릿속 어딘가에는 남아 다시 떠올리게 됩니다.
이 책은 한 번에 후루룩 읽기에는 꽤 압축적인 내용을 담고 있습니다. 꼭 설명해야 할 내용은 본문에서 충분히 설명하지만, 그 외 부가적인 내용은 과감하게 외부 링크를 제공합니다. 실습 과제를 먼저 제공하고 그다음 장에서 바로 필자의 해답을 제시하기 때문에 부담을 가질 필요는 없습니다. 끝까지 읽는다면 큰 도움이 된다고 확신합니다.
- 옮긴이의 말 중에서

[출판사서평 더 보기 닫기]

책 속 한 문장

회원리뷰

  • 이 책은 말 그대로 '자료구조와 알고리즘'을 주제로 만들어진 책 입니다. "왜 기존에 쓰던 방법을 사용하지, 굳...


    이 책은 말 그대로 '자료구조와 알고리즘'을 주제로

    만들어진 책 입니다.


    "왜 기존에 쓰던 방법을 사용하지, 굳이 이러한 알고리즘을 써야하나?"

    라고 생각하시는 분이 계실 수 있으실텐데, 각 챕터마다

    이러한 알고리즘을 써야하는 이유가 나와있습니다.


    즉 단순히 알고리즘에 대해 설명하고 끝내는 것이 아닌,

    이러한 알고리즘을 쓰는 방법과 그 이유를 함께 설명하고 있습니다.



    계다가 각각의 알고리즘의 속도(수행 시간)을 그래프로 나타내어,

    어떠한 알고리즘이 효율적인지를 쉽게 알아볼 수 있었습니다.



    또한, 자료구조를 언제 사용을 해야하는지, 그 조건에 대해 설명을

    함께 진행하고 있어, 언제 사용을 해야하는지 판단하는데 도움이 되는 것 같습니다.


    그리고 실무에서 자료구조를 사용할 수 있도록 접근을 도와주고 있어,

    현업자 분들에게도 많은 도움을 주는 것 같습니다.



    웹 크롤링에 관한 내용도 있어,

    이 부분도 재미있게 보았습니다.



    책의 내용은 맨 첫장부터 마지막까지 모두 184장 밖에 되지 않아

    일주일 정도면 충분히 읽을 수 있을 것 같습니다.


    다만, 내용이 실무자에 맞춰져 있어, 초보자는 이해하는데 시간이

    조금 걸릴 것 같습니다.


    자료구조를 활용해보고 싶어하시는

    실무자 분들에게 추천드리는 도서입니다.

  • 출간되고 바로 책을 볼 수 있는 기회를 얻어, 이렇게 리뷰를 남깁니다. 우선 책 번역은 흠 잡을 곳이 없습니다. 유동환작...

    출간되고 바로 책을 볼 수 있는 기회를 얻어, 이렇게 리뷰를 남깁니다.


    우선 책 번역은 흠 잡을 곳이 없습니다. 유동환작가님의 그동안 저서와 번역서에서도 그러했듯이 번역 상태는 매끄러웠으며, 원서에서는 생략되었지만 예제의 파일 위치와 상세한 파일 라인까지 꼼꼼히 추가해주 셔서 github에 올려진 예제를 바로 실행할 수 있어 매우 편했습니다. 특히 번역서의 경우에는 영어를 한글발음으로 번역해버리면 그 본연의 의미를 잃어버리는 경우가 있는데, 본 책은 영어 단어는 그대로 남기되, 애매한 경우엔 같은 영어 단어를 함께 넣어주셔서 번역자 분의 센스가 묻어 났습니다.


    본 책의 내용으로 들어가보겠습니다. 기존에 자료구조 저서의 상식을 파격적으로 깬? 책입니다. 일반적으로 학부 컴퓨터 과학과에서 자료구조를 배워본 학생들은 잘 아실 것으로 보입니다. 하드 커버에 압도적인 약 400 페이지 이상의 두께와, 첫 페이지를 열면 복잡도 란 무엇이고, 수학 공식과 개념들이 눈앞을 점령해서 언제라도 덮어버리고 싶어 버리게 하는 전형적인 전공과목 서적 중에 하나죠.


    본 책은 정말 얇습니다. 목차를 보면 굵직굵직한 주제(리스트, 스택, 해쉬, 트리, 정렬)를 다루고 있지만 짧게 170 페이지로 끝내 버립니다. 그렇다고 내용이 소홀하다는 말은 아닙니다. 분량이 큰 소스코드는 각 goo.gl 링크로 해놔서 공백 이라든지, 책에 소스코드를 따라 치는 만드는 수고가 없게 했습니다. 원론적인 이론도 없고 수식도 없고, 정말 현업에서 반드시 알아야 할 내용만 골라 담아 있기에 담백한 한약을 먹는 그런 느낌이었습니다.


    가장 마음에 드는 점은 이 책의 내용 구성에 있습니다. 배워야 하는 이유를 먼저 제시합니다. 처음 저자와 만나 함께 문제를 풀어가듯이 이유와 그로 인한 해답을 제시하는 과정이었습니다. 그렇게 읽다 보면 또다른 문제점을 맞닥뜨리게 되고, 결국 최종 답에 이릅니다. 과일을 먹더라도 이미 껍질이 까져 있는 과일을 먹는 것보다, 직접 따서 껍질을 벗겨서 먹으면 더 맛있듯이 그 과정을 저자는 보여줍니다.


    특히, 이런 접근 방식은 대한민국개발자들에게 반드시 필요하다고 생각됩니다. 주입식 교육을 통해 되도록 많은 것을 배우려고 하는 대한민국의 체질? 덕분인지는 몰라도, 현장에 개발자들 대부분은 문제 앞에서 어떤 자료구조를 사용해야 하는지 어려움을 겪습니다. 도구가 많이 배우면 뭐합니까? 사용할 줄을 모르는 분들이 너무 많은 것을요.


    대부분 협업 JAVA 개발자들이 가장 사용하기 쉬워 하는 자료구조는 ArrayList일것입니다. LinkedList도 있는데 왜 사용하는지 이유를 물으면 많은 고민 끝에  '그동안 써왔으니까' '다른 코드들도 사용하니까' '매번 이자료구조를 사용해서' '급하니까'라고 대답하십니다. 본 저서는 List를 설명함에 있어서도 왜 ArrayList와LinkedList를 구분 해서 사용해야 하는지 이유를 설명하고 있습니다. 작은 크롤링 앱을 통해서 List부터 최종 정렬까지 각 케이스를 구현해보면서 알고리즘 성능을 측정해보고 왜 바꿔야 하고 왜 적합한 것을 찾아야 하는지 이유 설명합니다. 더욱 매력적인 포인트는, 최종적으로 JCF(Java Collections Framework)를 소개하여 실제로 현업까지 이어주는 징검다리 역할을 하고 있는 점입니다.


    표지에 "기술 면접에 필요한 실용주의 자료구조와 알고리즘"글이 적혀 있습니다. 꼭 이 경우가 아니더라도JAVA를 기반으로 하여 자료구조를 처음 배우고 싶어하는 분들에게도 적극 추천합니다. 뿐만 아니라 대학교를 졸업하는데 바빠 고민의 시간이 적었던 현업 개발자들에게도 추천합니다. SW세계에선 그 동안 존재하지 않을뿐더러 새로 맞서야만 하는, 그리고 도메인 특화 문제를 해결해야 하는 상황이 자주 있습니다. 개발자는 새로운 것을, 변화된 것을 창조해야 합니다. 문제 앞에서 최적이면서 최고의 도구가 될 수 있는 "자료구조"를 활용 할 수 있는 능력을 이 책을 통해서 가져 가시길 바랍니다.

교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
북인북
판매등급
특급셀러
판매자구분
사업자
구매만족도
5점 만점에 5점
평균 출고일 안내
2일 이내
품절 통보율 안내
50%

바로가기

최근 본 상품