스크랩

구간

Do it! 자료구조와 함께 배우는 알고리즘 입문 자바 편 내 손으로 직접 코딩하며 확인한다!

시리즈 : Do it! 시리즈 [102]

시바타 보요 저 | 강민 역 | 이지스퍼블리싱 | 2022년 04월

베스트셀러

북트리

정가
$44.00
판매가
$32.08 (27%↓) 최저가 보상
적립금
$0.64 (2%P)
출고예상일
2026년 10월 08일 수령예상일 안내
북카트 담기 바로구매하기 위시리스트담기

평점 -  ·  리뷰 0

리뷰 쓰기

ISBN : 9791163033486 / 424쪽 188 x 257 (㎜)

이 상품에 궁금하신점이 있으세요? 1:1상담문의

추천inside
Adobe Flash Player 가져오기

이 분야의 베스트셀러

아래의 도서와 구매하시면 이 도서들의 적립금을 즉시적용해 드립니다.

  • 19,800
  • 21,600
  • 16,200
  • 21,420

책 소개

출판사 리뷰

<추천평> 이 책을 편하게 읽는 것만으로도 자료구조 알고리즘 지식을 차곡차곡 쌓을 수 있어요! 그동안 학교에서 또는 독학으로 다양한 알고리즘, 자료구조를 공부했지만 원리나 특징을 짧게 배워서 그런지 실제 프로그래밍에 활용할 때 막히는 부분이 많았습니다. 이런 저에게 실질적으로 도움을 주었던 책이 바로 『Do it! 자료구조와 함께 배우는 알고리즘 입문 ― 자바 편(전면 개정판)』입니다. 이 책은 자바의 고유한 특징을 잘 활용하면서 코드를 작성하고 자료구조와 알고리즘을 자세히 설명해 활용도가 높았습니다. 그리고 알고리즘의 실행 과정과 결과가 책에 친절하게 담겨 있어서 개념만 잘 이해하면 코드를 직접 실행하지 않고도 눈으로 그 과정을 이해할 수 있습니다. 그 결과, 내용을 이해하는 데 걸리는 시간을 줄이고 소설책처럼 편하게 읽을 수 있어서 좋았습니다. 여러분도 소설책처럼 이 책을 읽는 것만으로도 자료구조와 알고리즘 지식이 충분히 쌓일 것입니다. - 경기과학고등학교 3학년 송혁중 최소의 시간을 투자하여 최대의 효과를 얻을 수 있도록 도와주는 훌륭한 교과서! 이 책은 알고리즘을 공부하는 사람들에게 최소한의 시간 투자로 최대 효과를 얻을 수 있도록 도와주는 훌륭한 교과서입니다. 특히 알고리즘의 과정을 그림으로 자세히 설명하고, 친절한 주석으로 코드를 보충 설명해 주기 때문에 더 쉽게 공부할 수 있습니다. 오래전에 알고리즘을 한번 배운 적이 있지만 이번에 이 책을 읽으면서 잊었던 내용을 빠르게 상기할 수 있었고, 예전에 몰랐던 새로운 알고리즘 또한 배울 수 있었습니다. 또한 자바 언어의 특징과 자바 라이브러리를 활용한 지식도 다루어서 이와 관련하여 직접 프로그래밍하고 싶은 사람도 큰 도움을 받을 수 있습니다. - 중앙대학교 소프트웨어학부 4학년 채희선 코딩 입문자부터 취업 준비생, 개발자까지 알아야 할 필수 자료구조, 알고리즘이 전부 담긴 책! 알고리즘의 기초 지식이 필요한 입문자에게 적합한 책입니다. 자료구조 개념을 이해하기 쉬울 뿐 아니라 다양한 알고리즘의 문제 유형과 접근법도 배울 수 있기 때문입니다. [Do it! 실습]에서는 앞에서 배운 개념을 바탕으로 코드를 직접 작성하고, 장이 끝날 때쯤에는 조금 어려운 [연습 문제]까지 풀어 볼 수 있습니다. 또한 [보충수업]에서는 본문에서 다룬 내용 외에 자바의 핵심 개념도 설명해서 입문자뿐만 아니라 자바에 능숙한 개발자도 개념을 다시 다질 수 있습니다. 마지막으로 책에 있는 진도표를 참고해 목표를 세우고 개념 공부와 실습을 꾸준히 하다 보면 한 단계 업그레이드한 자신을 발견할 것입니다. 쏙쏙 이해되는 개념서, 다양한 실습으로 구성된 입문서를 찾는다면 적극 추천합니다. - 9년 차 백엔드 개발자 최인주

저자 소개

  • 저자 : 시바타 보요
저자 : 시바타 보요
2004년부터 C, C++, JAVA의 기초 프로그래밍 관련 책을 40권 이상 집필한 이 분야의 대표 저자이다. 이러한 공로를 인정받아 공학교육협회 저작상을 수상하기도 했다. 현재 후쿠오카 사립 기술대학교에서 정보공학부 정보공학과 부교수로 재직 중이며 컴퓨터 프로그래밍 교육 분야에 공헌하고 있다. 국내에서는 『Do it! 자료구조와 함께 배우는 알고리즘 입문 - C 언어 편(2017, 이지스퍼블리싱)』, 『Do it! 자료구조와 함께 배우는 알고리즘 입문 - 자바 편(2018, 이지스퍼블리싱)』을 포함해 총 7권의 번역서가 출간되었다.

역자 : 강민
서울대학교 인문학 전공. (주)현영시스템즈에서 프로그래머, 시스템 엔지니어, 이글로벌 코리아에서 D/B 암호화, S/W 지역화 프로젝트 매니저를 하며 IT 관련 분야에서 경력을 쌓아 왔다. (주)그래텍에서 교육 문화 콘텐츠 기획을 했던 경험을 바탕으로 현재 분당 서현과 판교에서 레고 에듀케이션 공식 인증 러닝 센터인 CiC에듀를 운영하며 아이들과 함께 레고, 로봇, 코딩과 C++, Java, Python 알고리즘을 탐구하면서 컴퓨팅 사고력을 기르는 코딩 교육 활동을 하고 있다.

목차

---------------
01 기본 알고리즘
---------------
__01-1 알고리즘이란?
____세 값의 최댓값 구하기
____[보충수업 1-1] 숫자와 문자열 입력하기 1
____[보충수업 1-2] 숫자와 문자열 입력하기 2
____[보충수업 1-3] 메서드의 반환값과 메서드
____호출식의 평가
____[보충수업 1-4] 세 값의 대소 관계와 중앙값
____조건 판단과 분기
____[보충수업 1-5] 연산자와 피연산자
____순서도의 기호

__01-2 반복
____1부터 n까지 정수의 합 구하기
____[보충수업 1-6] for 문 자세히 알아보기
____양수만 입력받아 1부터 n까지의 합 구하기
____반복 과정에서 조건 판단하기 1
____반복 과정에서 조건 판단하기 2
____반복 과정에서 조건 판단하기 3
____[보충수업 1-7] 논리 연산과 드모르간 법칙
____다중 루프 다루기
____[보충수업 1-8] 카운터용 변수의 이름은 왜 i나 j일까요?

---------------
02 기본 자료구조
---------------
__02-1 배열이란?
____자료구조 정의하기
____배열 다루기
____배열 요소의 최댓값 구하기
____[보충수업 2-1] 값을 대입하지 않은 지역 변수
____[보충수업 2-2] 메서드의 매개변수로 배열 사용하기
____[보충수업 2-3] 난수의 생성
____배열 요소를 역순으로 정렬하기
____[보충수업 2-4] 전위형 증가 연산자와 후위형 증가 연산자
____기수 변환하기
____[보충수업 2-5] 기수 살펴보기
____소수 나열하기
____[보충수업 2-6] 배열에 관련된 세부 규칙

__02-2 클래스란?
____클래스 다루기
____클래스에서 배열 구현하기
____[보충수업 2-7] 클래스 더 알아보기

---------------
03 검색 알고리즘
---------------
__03-1 검색 알고리즘이란?
____검색과 키 살펴보기
____배열에서 검색하기

__03-2 선형 검색
____선형 검색 알아보기
____[보충수업 3-1] 형 import 선언
____보초법으로 선형 검색 구현하기

__03-3 이진 검색
____이진 검색 알아보기
____복잡도 구하기
____[보충수업 3-2] java.lang 패키지의 자동 import
____Arrays.binarySearch에 의한 이진 검색
____[보충수업 3-3] 클래스 메서드와 인스턴스 메서드
____[보충수업 3-4] 자연 정렬
____[보충수업 3-5] 제네릭스

---------------
04 스택과 큐
---------------
__04-1 스택이란?
____스택 알아보기
____스택 만들기

__04-2 큐란?
____큐 알아보기
____배열로 큐 만들기
____링 버퍼로 큐 만들기
____[보충수업 4-1] 링 버퍼의 활용

---------------
05 재귀 알고리즘
---------------
__05-1 재귀 알고리즘의 기본
____재귀란?
____팩토리얼 구하기
____유클리드 호제법

__05-2 재귀 알고리즘 분석
____재귀 알고리즘 분석하기
____재귀 알고리즘의 비재귀적 표현
____메모화

__05-3 하노이의 탑
____하노이의 탑 알아보기

__05-4 8퀸 문제
____8퀸 문제란?
____퀸 배치하기
____분기 조작
____분기 한정법
____8퀸 문제를 해결하는 프로그램 만들기

---------------
06 정렬 알고리즘
---------------
__06-1 정렬 알고리즘이란?
____정렬이란?

__06-2 버블 정렬
____버블 정렬 알아보기

__06-3 단순 선택 정렬
____단순 선택 정렬 알아보기

__06-4 단순 삽입 정렬
____단순 삽입 정렬 알아보기

__06-5 셸 정렬
____단순 삽입 정렬의 특징 살펴보기
____셸 정렬 알아보기

__06-6 퀵 정렬
____퀵 정렬 살펴보기
____배열을 두 그룹으로 나누기
____퀵 정렬 구현하기
____[보충수업 6-1] 퀵 정렬에서 배열을 나누는 과정 출력하기
____비재귀적인 퀵 정렬 구현하기

__06-7 병합 정렬
____정렬을 마친 두 배열의 병합 살펴보기
____병합 정렬 구현하기
____Arrays.sort로 퀵 정렬과 병합 정렬하기

__06-8 힙 정렬
____힙이란?
____힙 정렬 알아보기
____배열을 힙으로 만들기

__06-9 도수 정렬
____도수 정렬 알아보기

---------------
07 문자열 검색
---------------
__07-1 브루트-포스법
____문자열 검색이란?
____브루트-포스법 알아보기
____[보충수업 7-1] 문자열과 String 클래스
____String.indexOf 메서드로 문자열 검색하기

__07-2 KMP법
____KMP법 알아보기

__07-3 보이어·무어법
____보이어·무어법 알아보기
____[보충수업 7-2] 문자열 검색 알고리즘의 시간 복잡도와 실용성

---------------
08 리스트
---------------
__08-1 리스트란?
____리스트 살펴보기
____배열로 선형 리스트 만들기

__08-2 포인터로 연결 리스트 만들기
____포인터로 연결 리스트 만들기
____포인터로 연결 리스트를 사용하는 프로그램 만들기
____[보충수업 8-1] toString 메서드

__08-3 배열 커서로 연결 리스트 만들기
____배열 커서로 연결 리스트 만들기
____배열의 비어 있는 요소 처리하기
____프리 리스트 살펴보기
____배열 커서로 연결 리스트를 사용하는 프로그램 만들기

__08-4 원형 이중 연결 리스트 만들기
____원형 리스트 살펴보기
____이중 연결 리스트 살펴보기
____원형 이중 연결 리스트 만들기
____원형 이중 연결 리스트를 사용하는 프로그램 만들기

---------------
09 트리
---------------
__09-1 트리
____트리란?
____순서 트리와 무순서 트리 살펴보기
____순서 트리 탐색 살펴보기

__09-2 이진트리와 이진검색트리
____이진트리란?
____완전이진트리란?
____이진검색트리 살펴보기
____이진검색트리 만들기
____[보충수업 9-1] 균형검색트리
____이진검색트리를 사용하는 프로그램 만들기
____[보충수업 9-2] API 문서 참조하기
____[보충수업 9-3] Object 클래스 이해하기

---------------
10 해시
---------------
__10-1 해시법
____정렬된 배열에 새로운 값 추가
____해시법
____충돌
____체인법
____[보충수업 10-1] 해시와 해시 함수 알아보기
____[보충수업 10-2] 열거 살펴보기
____오픈 주소법

top