logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

문제 해결력을 높이는 알고리즘과 자료 구조

문제 해결력을 높이는 알고리즘과 자료 구조

(코딩 테스트, 프로그래밍 경진대회 전 필독서!)

오츠키 켄스케 (지은이), 서수환 (옮긴이), 아키바 타쿠야 (감수)
길벗
24,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
21,600원 -10% 0원
1,200원
20,400원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
알라딘 판매자 배송 23개 10,000원 >
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

문제 해결력을 높이는 알고리즘과 자료 구조
eBook 미리보기

책 정보

· 제목 : 문제 해결력을 높이는 알고리즘과 자료 구조 (코딩 테스트, 프로그래밍 경진대회 전 필독서!)
· 분류 : 국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 자료구조/알고리즘
· ISBN : 9791165218874
· 쪽수 : 412쪽
· 출판일 : 2022-02-22

책 소개

알고리즘 문제의 답을 스스로 생각하는, 코딩 테스트와 프로그래밍 경진대회 전 필독서. 이 책은 알고리즘 입문서이자 + 응용력, 문제 해결력을 높여주는 알고리즘 활용서다. 궁극적으로 알고리즘을 잘 다룰 수 있게 실력을 키우는 것을 목표로 한다.

목차

1장 알고리즘이란?
1.1 알고리즘이란 무엇인가?
1.2 알고리즘 예제(1): 깊이 우선 탐색과 너비 우선 탐색
1.2.1 빈 칸 채우기 퍼즐로 배우는 깊이 우선 탐색
1.2.2 미로로 배우는 너비 우선 탐색
1.3 알고리즘 예제(2): 매칭
1.4 알고리즘 서술 방법
1.5 알고리즘을 배우는 의미
1.6 연습 문제

2장 복잡도와 빅오 표기법
2.1 복잡도란?
2.2 복잡도와 빅오 표기법
2.2.1 복잡도 빅오 표기법 생각해 보기
2.2.2 코드 2-1의 복잡도
2.2.3 코드 2-2의 복잡도
2.2.4 실제로 복잡도 구해 보기
2.2.5 복잡도를 빅오 표기법으로 표시하는 이유
2.3 복잡도를 구하는 예(1): 짝수 나열
2.4 복잡도를 구하는 예(2): 최근접 점쌍 문제
2.5 복잡도 사용법
2.6 복잡도 관련 주의 사항
2.6.1 시간 복잡도와 공간 복잡도
2.6.2 최악 시간 복잡도와 평균 시간 복잡도
2.7 란다우 빅오 표기법 상세 설명(*)
2.7.1 란다우 빅오 표기법
2.7.2 오메가 표기법
2.7.3 세타 표기법
2.8 마무리
2.9 연습 문제

3장 설계 기법(1): 전체 탐색
3.1 전체 탐색을 배우는 의미
3.2 전체 탐색(1): 선형 탐색법
3.3 선형 탐색법의 응용
3.3.1 조건을 만족하는 위치 파악 가능
3.3.2 최솟값 구하기
3.4 전체 탐색(2): 쌍 전체 탐색
3.5 전체 탐색(3): 조합 전체 탐색(*)
3.6 정리
3.7 연습 문제

4장 설계 기법(2): 재귀와 분할 정복법
4.1 재귀란 무엇인가?
4.2 재귀 사용 예(1): 유클리드 호제법
4.3 재귀 사용 예(2): 피보나치 수열
4.4 메모이제이션 동적 계획법
4.5 재귀 사용 예(3): 재귀 함수를 사용한 전체 탐색
4.5.1 부분합 문제
4.5.2 부분합 문제에 대한 재귀적 전체 탐색 복잡도(*)
4.5.3 부분합 문제에 대한 메모이제이션(*)
4.6 분할 정복법
4.7 정리
4.8 연습 문제

5장 설계 기법(3): 동적 계획법
5.1 동적 계획법이란?
5.2 동적 계획법 예제
5.3 동적 계획법 관련 개념도
5.3.1 완화
5.3.2 끌기 전이 형식과 밀기 전이 형식
5.3.3 끌기 전이 형식과 밀기 전이 형식 비교
5.3.4 전체 탐색 메모이제이션을 이용한 동적 계획법
5.4 동적 계획법 예제(1): 냅색 문제
5.5 동적 계획법 예제(2): 편집 거리
5.6 동적 계획법 예제(3): 구간 분할 최적화
5.7 정리
5.8 연습 문제

6장 설계 기법(4): 이진 탐색법
6.1 배열 이진 탐색
6.1.1 배열 이진 탐색
6.1.2 배열 이진 탐색 복잡도(*)
6.2 C++의 std::lower_bound()
6.3 일반화한 이진 탐색법
6.4 좀 더 일반화한 이진 탐색법(*)
6.5 응용 예(1): 나이 맞히기 게임
6.6 응용 예(2): std::lower_bound() 활용
6.7 응용 예(3): 최적화 문제를 판정 문제로 바꾸기
6.8 응용 예(4): 중앙값 구하기
6.9 정리
6.10 연습 문제

7장 설계 기법(5): 탐욕법
7.1 탐욕법이란?
7.2 탐욕법으로 최적해를 구할 수 없는 경우
7.3 탐욕법 패턴(1): 교환해도 악화되지 않음
7.4 탐욕법 패턴(2): 현재가 좋으면 미래도 좋음
7.5 정리
7.6 연습 문제

8장 자료 구조(1): 배열, 연결 리스트, 해시 테이블
8.1 자료 구조를 배우는 의미
8.2 배열
8.3 연결 리스트
8.4 연결 리스트 삽입과 삭제
8.4.1 연결 리스트 삽입
8.4.2 연결 리스트 삭제
8.5 배열과 연결 리스트 비교
8.6 해시 테이블
8.6.1 해시 테이블 만드는 법
8.6.2 해시 충돌 대책
8.6.3 해시 테이블 복잡도
8.6.4 C++와 파이썬의 해시 테이블
8.6.5 연상 배열
8.7 정리
8.8 연습 문제

9장 자료 구조(2): 스택과 큐
9.1 스택과 큐의 개념
9.2 스택과 큐의 동작과 구현
9.2.1 스택 동작과 구현
9.2.2 큐 동작과 구현
9.3 정리
9.4 연습 문제

10장 자료 구조(3): 그래프와 트리
10.1 그래프
10.1.1 그래프 사고방식
10.1.2 유향 그래프와 무향 그래프
10.1.3 워크, 사이클, 패스
10.1.4 연결성
10.2 그래프를 사용하는 공식화 예시
10.2.1 소셜 네트워크
10.2.2 교통 네트워크
10.2.3 게임 국면 전이
10.2.4 작업 의존 관계
10.3 그래프 구현
10.4 가중 그래프 구현
10.5 트리
10.5.1 루트 트리
10.5.2 부분 트리와 트리 높이
10.6 순서 트리와 이진 트리
10.6.1 순서 트리와 이진 트리
10.6.2 강균형 이진 트리
10.7 이진 트리를 사용한 자료 구조 예(1): 힙
10.7.1 힙이란?
10.7.2 힙 실현 방법
10.7.3 힙 쿼리 처리
10.7.4 힙 구현 예
10.7.5 O(N) 복잡도로 힙 구축(*)
10.8 이진 트리를 사용하는 자료 구조 예(2): 이진 탐색 트리
10.9 정리
10.10 연습 문제

11장 자료 구조(4): Union-Find
11.1 Union-Find란?
11.2 Union-Find 구조
11.3 Union-Find 복잡도를 줄이는 방법
11.4 Union-Find 개선법 1: union by size
11.4.1 union by size란?
11.4.2 union by size 복잡도 분석
11.5 Union-Find 개선법 2: 경로 압축
11.6 Union-Find 구현
11.7 Union-Find 응용: 그래프 연결 요소 개수
11.8 정리
11.9 연습 문제

12장 정렬
12.1 정렬이란?
12.2 정렬 알고리즘의 좋고 나쁨
12.2.1 in-place와 안정성
12.2.2 어떤 정렬 알고리즘이 좋은가?
12.3 정렬(1): 삽입 정렬
12.3.1 동작과 구현
12.3.2 삽입 정렬 복잡도와 성질
12.4 정렬(2): 병합 정렬
12.4.1 동작과 구현
12.4.2 병합 정렬 복잡도와 성질
12.4.3 병합 정렬 복잡도를 자세히 분석하기(*)
12.5 정렬(3): 퀵 정렬
12.5.1 동작과 구현
12.5.2 퀵 정렬 복잡도와 성질
12.5.3 무작위 선택 퀵 정렬(*)
12.6 정렬(4): 힙 정렬
12.7 정렬 복잡도의 하한값
12.8 정렬(5): 버킷 정렬
12.9 정리
12.10 연습 문제

13장 그래프(1): 그래프 탐색
13.1 그래프 탐색을 배우는 의의
13.2 깊이 우선 탐색과 너비 우선 탐색
13.3 재귀 함수를 사용하는 깊이 우선 탐색
13.4 전위 순회와 후위 순회
13.5 최단 경로 알고리즘으로 너비 우선 탐색
13.6 깊이 우선 탐색과 너비 우선 탐색의 복잡도
13.7 그래프 탐색 예(1): s-t 패스 구하기
13.8 그래프 탐색 예(2): 이분 그래프 판정
13.9 그래프 탐색 예(3): 위상 정렬
13.10 그래프 탐색 예(4): 트리 동적 계획법(*)
13.11 정리
13.12 연습 문제

14장 그래프(2): 최단 경로 문제
14.1 최단 경로 문제란?
14.1.1 가중치 유향 그래프
14.1.2 단일 시작점 최단 경로 문제
14.1.3 음의 변과 음의 닫힌 경로
14.2 최단 경로 문제 정리
14.3 완화
14.4 DAG의 최단 경로 문제: 동적 계획법
14.5 단일 시작점 최단 경로 문제: 벨만-포드 알고리즘
14.5.1 벨만-포드 알고리즘 아이디어
14.5.2 벨만-포드 알고리즘 구현
14.5.3 벨만-포드 알고리즘의 정확성(*)
14.6 단일 시작점 최단 경로 문제: 다익스트라 알고리즘
14.6.1 두 종류의 다익스트라 알고리즘
14.6.2 단순한 다익스트라 알고리즘
14.6.3 다익스트라 알고리즘의 직감적인 이미지
14.6.4 다익스트라 알고리즘 정확성(*)
14.6.5 희소 그래프인 경우: 힙을 사용한 고속화(*)
14.7 모든 쌍의 최단 경로 문제: 플로이드-워셜 알고리즘
14.8 참고: 포텐셜과 차분 제약계(*)
14.9 정리
14.10 연습 문제

15장 그래프(3): 최소 신장 트리 문제
15.1 최소 신장 트리 문제란?
15.2 크러스컬 알고리즘
15.3 크러스컬 알고리즘 구현
15.4 신장 트리 구조
15.4.1 컷
15.4.2 기본 사이클
15.4.3 기본 컷 집합
15.5 크러스컬 알고리즘의 정확성(*)
15.6 정리
15.7 연습 문제

16장 그래프(4): 네트워크 흐름
16.1 네트워크 흐름을 배우는 의의
16.2 그래프 연결도
16.2.1 변 연결도
16.2.2 최소 컷 문제
16.2.3 변 연결도를 구하는 알고리즘과 강 쌍대성 증명
16.3 최대 흐름 문제와 최소 컷 문제
16.3.1 최대 흐름 문제란?
16.3.2 흐름의 성질
16.3.3 최소 컷 문제와 쌍대성
16.3.4 포드-풀커슨 알고리즘
16.4 포드-풀커슨 알고리즘 구현
16.5 응용 예(1): 이분 매칭
16.6 응용 예(2): 점 연결도
16.7 응용 예(3): 프로젝트 선택 문제
16.8 정리
16.9 연습 문제

17장 P와 NP
17.1 문제의 어려움을 측정하는 방법
17.2 P와 NP
17.3 P ≠ NP 문제
17.4 NP 완전
17.5 다항식 시간 환원 예
17.5.1 꼭짓점 커버 문제
17.5.2 부분합 문제(*)
17.6 NP 난해
17.7 정지 문제
17.8 정리
17.9 연습 문제

18장 어려운 문제 대책
18.1 NP 난해 문제와 마주하기
18.2 특수한 경우로 풀리는 방법
18.3 탐욕법
18.4 국소 탐색과 담금질 기법
18.5 분기 한정법
18.6 정수계획 문제로 공식화
18.7 근사 알고리즘
18.8 정리
18.9 연습 문제

19장 참고 문헌
19.1 알고리즘 전반
19.2 알고리즘 전반(본격적인 전문서)
19.3 복잡도, P와 NP
19.4 그래프 알고리즘, 조합 최적화
19.5 어려운 문제 대책
19.6 기타 분야

후기
찾아보기

저자소개

오츠키 켄스케 (지은이)    정보 더보기
2014년 도쿄대학교 대학원 정보과학기술대학원 석사과정 수료. 현재 주식회사 NTT 데이터 수리 시스템 고문, 주식회사 아르고식(공동 창업) 집행임원. 알고리즘을 비롯한 컴퓨터 과학의 여러 분야의 계몽 활동에 종사하고 있고, 수리 최적화 및 머신러닝을 활용한 수리 컨설팅 업무 경험도 다수 있다. 저서로는 『問題解決力を鍛える!アルゴリズムとデ?タ構造』(講談社,2020)가 있다.
펼치기
서수환 (옮긴이)    정보 더보기
일본에서 IT 시스템을 설계, 개발하는 엔지니어다. 귀찮은 일이 생기면 대신해 줄 무언가를 찾다가 없으면 만드는 것이 취미다. 또 뭐하며 놀지에 대해 늘 고민하고 있다. 『문제 해결력을 높이는 알고리즘과 자료 구조』, 『모두의 라즈베리 파이 with 파이썬』(이상 길벗) 등을 번역했다.
펼치기
아키바 타쿠야 (감수)    정보 더보기
박사(정보이공학) 2015년 도쿄대학 대학원 정보이공학계 연구과 컴퓨터과학 전공, 박사 후기 과정 수료 2015년 국립정보학 연구소 특임 조교(정보학 프린시플 연구계) 2016년 주식회사 Preferred Networks 연구원 현재 주식회사 Preferred Networks 집행임원 기계학습기반담당 VP 저서 『프로그래밍 콘테스트 챌린지북 2판(공저)』 (마이나비, 2012) Twitter ID | @iwiwi
펼치기

책속에서



추천도서

이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책