HOME > 상세정보

상세정보

자바로 배우는 핵심 자료구조와 알고리즘 : 기술 면접에 필요한 실용주의 자료구조와 알고리즘 (18회 대출)

자료유형
단행본
개인저자
Downey, Allen 유동환, 역
서명 / 저자사항
자바로 배우는 핵심 자료구조와 알고리즘 : 기술 면접에 필요한 실용주의 자료구조와 알고리즘 / 앨런 B. 다우니 지음 ; 유동환 옮김
발행사항
서울 :   한빛미디어,   2018  
형태사항
184 p. : 삽화, 도표 ; 24 cm
원표제
Think data structures : algorithms and information retrieval in Java
ISBN
9791162240847
일반주기
색인수록  
일반주제명
Java (Computer program language) Data structures (Computer science) Information retrieval Computer algorithms Algorithms
000 00000cam c2200205 c 4500
001 000045959543
005 20181129184551
007 ta
008 181105s2018 ulkad 001c kor
020 ▼a 9791162240847 ▼g 93000
035 ▼a (KERIS)BIB000014840282
040 ▼a 222003 ▼c 222003 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b J41 2018z11
100 1 ▼a Downey, Allen
245 1 0 ▼a 자바로 배우는 핵심 자료구조와 알고리즘 : ▼b 기술 면접에 필요한 실용주의 자료구조와 알고리즘 / ▼d 앨런 B. 다우니 지음 ; ▼e 유동환 옮김
246 1 9 ▼a Think data structures : ▼b algorithms and information retrieval in Java
246 3 0 ▼a 핵심 자료구조와 알고리즘
246 3 0 ▼a 자료구조와 알고리즘
260 ▼a 서울 : ▼b 한빛미디어, ▼c 2018
300 ▼a 184 p. : ▼b 삽화, 도표 ; ▼c 24 cm
500 ▼a 색인수록
650 0 ▼a Java (Computer program language)
650 0 ▼a Data structures (Computer science)
650 0 ▼a Information retrieval
650 0 ▼a Computer algorithms
650 0 ▼a Algorithms
700 1 ▼a 유동환, ▼e
900 1 0 ▼a 다우니, 앨런 B., ▼e

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2018z11 등록번호 111802153 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2018z11 등록번호 121246806 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 J41 2018z11 등록번호 151342955 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 005.133 J41 2018z11 등록번호 111802153 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 J41 2018z11 등록번호 121246806 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 J41 2018z11 등록번호 151342955 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

컴퓨터과학을 공부하거나 기술 인터뷰를 준비하는 소프트웨어 개발자를 위한 책이다. 자료구조와 알고리즘을 빠르게 배울 수 있도록 실용적이고 중요한 부분을 중점으로 설명한다. 자료구조가 어떻게 동작하는지보다 어떻게 활용하는지에 초점을 맞추었다.

이 책은 웹 검색이라는 응용 분야에 집중하고 있다. 이 분야는 자료구조를 광범위하게 사용하며 자체로도 흥미롭고 중요하다. 다른 책에서는 보기 어렵지만 기술 인터뷰에 필요한 내용이다. 또한, 버전 관리와 유닛 테스트 같은 기본적인 소프트웨어 엔지니어링 실무 내용도 다룬다. 장마다 배운 것을 확인할 수 있는 예제가 있고, 해답을 확인할 수 있는 자동화된 테스트도 제공한다.

자료구조와 알고리즘을 활용하여 간단한 웹 검색 엔진 만들기

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

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

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


정보제공 : Aladin

저자소개

앨런 B. 다우니(지은이)

프랭클린 W. 올린 공과대학교의 컴퓨터공학 교수. 웰즐리 칼리지와 콜비 칼리지, 캘리포니아 대학교 버클리에서 강의했다. 캘리포니아 대학교 버클리에서 컴퓨터공학 박사 학위를 땄다. 집필한 책으로 『씽크 파이썬』(길벗, 2017), 『파이썬을 활용한 베이지안 통계』(2014, 한빛미디어), 『Think Stats』(2013, 한빛미디어) 등이 있다.

유동환(옮긴이)

책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발했다. 최근에는 선행플랫폼개발팀으로 자리를 옮겨 차세대 모바일 기술 프로젝트를 진행하고 있다. 자바카페와 한국자바개발자협의회(JCO)에서 초기 멤버로서 수년간 활동했다. 집필한 책으로는 『안드로이드를 위한 Gradle』과 『RxJava 프로그래밍』(공저, 이상 한빛미디어)이 있고, 번역한 책으로는 『Java 9 모듈 프로그래밍』 『그레이들 레시피』 『자바로 배우는 핵심 자료구조와 알고리즘』(이상 한빛미디어)』과 『Professional Java Web Services』(정보문화사), 『자바와 JUnit을 활용한 실용주의 단위 테스트』(길벗) 등이 있다.

정보제공 : Aladin

목차

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 공간 복잡도

관련분야 신착자료