서브메뉴

본문

프로그래밍 대회 공략을 위한 알고리즘과 자료 구조 입문
프로그래밍 대회 공략을 위한 알고리즘과 자료 구조 입문
저자 : 와타노베 유타카
출판사 : 인사이트
출판년 : 2021
ISBN : 9788966263271

책소개

기초부터 공부하는 알고리즘 입문서

▶ 프로그래밍 대회를 준비하기 위한 기초 체력을 기를 수 있다
프로그래밍 대회에서 높은 순위를 얻으려면 굉장히 정교한 알고리즘, 유연한 발상력, 수준 높은 수학 능력이 필요하지만, 입문자라면 일단 기초 알고리즘을 응용한 문제부터 공략해 보는 것이 좋습니다. 기초적인 내용을 공부하고 나면, 입문자 단계에서도 문제를 풀고 순위를 올릴 수 있어 대회를 좀더 재미있게 즐길 수 있을 것입니다.

▶ 온라인 저지를 통해 자동 채점을 해볼 수 있다
온라인 저지 시스템을 실제로 활용하여 자동 채점을 직접 해보면서 알고리즘과 자료 구조를 배울 수 있습니다. 온라인 저지를 통해 프로그래머로서 알고리즘과 자료 구조에 대한 기본적이면서도 광범위한 지식을 배울 수 있을 뿐만 아니라 프로그래머로서 요구되는 능력을 얻을 수 있습니다. 또한 독자들이 좀더 다양한 문제를 풀어볼 수 있도록 백준 온라인 저지의 문제를 추가로 제공하고 있습니다.

▶ 알고리즘을 수집하는 재미를 느낄 수 있다
문제를 해결하는 데 필요한 스킬을 카드 형태의 그림으로 표현하고 있어 게임을 하는 것처럼 경험치를 얻고, 새로운 문제를 해결하고, 그 경험으로 레벨업하고, 또 새로운 스킬을 배우고, 더 어려운 문제를 해결하다 보면 재미를 느낄 수 있을 것입니다. 또한 새로운 자료 구조와 알고리즘을 수집한다는 느낌으로 공부하면, 이러한 것들이 점점 쌓여가는 모습을 보는 재미도 있을 것입니다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

이 책은 프로그래밍 대회 문제를 풀 수 있게 해 주는, 기초적인 ‘알고리즘과 자료 구조’를 설명하는 참고서입니다. 입문자가 체계적으로 알고리즘과 자료 구조의 기초를 공부할 수 있는 입문서이기도 합니다.
프로그래밍 대회에서 높은 순위를 얻으려면, 굉장히 수준 높은 수학 능력이 필요합니다. 하지만 대부분의 입문자에게는 기초 알고리즘을 응용해 보는 것이 눈앞에 놓인 알고리즘 문제를 푸는 데 도움이 됩니다. 기초적인 내용을 공부하고 나면, 입문자 단계에서 문제를 풀고 순위를 올릴 수 있어 대회를 좀더 재미있게 즐길 수 있을 것입니다.
알고리즘과 자료 구조라는 말이 어렵게 들릴 수 있겠지만, 이를 배우고 응용해 보면 재미있다고 느낄 것입니다. 또한 새로운 자료 구조와 알고리즘을 수집한다는 느낌으로 공부하면, 점점 이러한 것들이 쌓여가는 모습을 보는 재미도 있을 것입니다. 이러한 재미도 느끼고 공부도 할 수 있게 이 책에서는 프로그래밍 대회와 유사한 온라인 저지 프로그램을 활용합니다.
-‘지은이의 글’ 중에서
[교보문고에서 제공한 정보입니다.]

목차정보

1부 준비편: 프로그래밍 대회를 공략하기 위한 공부 방법
1장 온라인 저지 활용하기
1.1 프로그래밍 대회를 공략하는 방법
1.2 온라인 저지
1.3 아이즈 온라인 저지(AOJ)
1.4 백준 온라인 저지(BOJ)

2부 기초편: 프로그래밍 대회를 위한 알고리즘과 자료 구조
2장 알고리즘과 복잡도
2.1 알고리즘이란?
2.2 문제와 알고리즘의 예
2.3 의사 코드
2.4 알고리즘의 효율성
2.5 도입 문제

3장 간단한 정렬
3.1 정렬: 문제에 도전하기 전에
3.2 삽입 정렬
3.3 버블 정렬
3.4 선택 정렬
3.5 안정적인 정렬
3.6 셸 정렬
3.7 백준 온라인 저지 문제

4장 자료 구조
4.1 자료 구조: 문제에 도전하기 전에
4.2 스택
4.3 큐
4.4 연결 리스트
4.5 표준 라이브러리의 자료 구조
4.6 자료 구조 응용: 면적 계산
4.7 백준 온라인 저지 문제

5장 탐색
5.1 탐색: 문제에 도전하기 전에
5.2 선형 탐색
5.3 이진 탐색
5.4 해시법
5.5 표준 라이브러리의 탐색
5.6 탐색 응용: 최적의 답 계산하기
5.7 백준 온라인 저지 문제

6장 재귀와 분할 정복
6.1 재귀와 분할 정복: 문제에 도전하기 전에
6.2 전체 탐색
6.3 코흐 곡선
6.4 백준 온라인 저지 문제

7장 고급 정렬
7.1 병합 정렬
7.2 파티션
7.3 퀵 정렬
7.4 계수 정렬
7.5 표준 라이브러리를 사용한 정렬
7.6 반전 수
7.7 최소 비용 정렬
7.8 백준 온라인 저지 문제

8장 트리
8.1 트리: 문제에 도전하기 전에
8.2 루트 있는 트리의 표현
8.3 이진 트리의 표현
8.4 트리 순회
8.5 트리 순회 응용: 트리 복원
8.6 백준 온라인 저지 문제

9장 이진 탐색 트리
9.1 이진 탐색 트리: 문제에 도전하기 전에
9.2 이진 탐색 트리: 삽입
9.3 이진 탐색 트리: 탐색
9.4 이진 탐색 트리: 제거
9.5 표준 라이브러리를 사용한 집합(세트) 관리
9.6 백준 온라인 저지 문제

10장 힙
10.1 힙: 문제에 도전하기 전에
10.2 완전 이진 트리
10.3 최대/최소 힙
10.4 우선순위 큐
10.5 표준 라이브러리의 우선순위 큐
10.6 백준 온라인 저지 문제

11장 동적 계획법
11.1 동적 계획법: 문제에 도전하기 전에
11.2 피보나치 수열
11.3 최장 공통 부분 수열
11.4 연쇄 행렬 곱셈
11.5 백준 온라인 저지 문제

12장 그래프
12.1 그래프: 문제에 도전하기 전에
12.2 그래프 표현
12.3 깊이 우선 탐색
12.4 너비 우선 탐색
12.5 연결 요소
12.6 백준 온라인 저지 문제

13장 가중치 그래프
13.1 가중치 그래프: 문제에 도전하기 전에
13.2 최소 스패닝 트리
13.3 단일 출발지 최단 경로
13.4 백준 온라인 저지 문제

3부 응용편: 프로그래밍 대회 필수 라이브러리

14장 고급 자료 구조
14.1 서로소 집합
14.2 영역 탐색
14.3 그 밖의 문제
14.4 백준 온라인 저지 문제

15장 고급 그래프 알고리즘
15.1 모든 쌍의 최단 경로
15.2 위상 정렬
15.3 단절점
15.4 트리의 지름
15.5 최소 스패닝 트리
15.6 그 밖의 문제
15.7 백준 온라인 저지 문제

16장 계산 기하학
16.1 기하학 객체의 기본 요소와 표현
16.2 직선의 직교와 평행 판정
16.3 투영
16.4 반사
16.5 거리
16.6 반시계 방향
16.7 선분 교차 판정
16.8 선분의 교점
16.9 원과 직선의 교점
16.10 원과 원의 교점
16.11 점의 내포
16.12 볼록 껍질
16.13 선분 교차 문제
16.14 그 밖의 문제
16.15 백준 온라인 저지 문제

17장 동적 계획법 활용
17.1 동전 문제
17.2 냅색 문제
17.3 최장 증가 부분 수열
17.4 가장 큰 정사각형
17.5 가장 큰 사각형
17.6 그 밖의 문제
17.7 백준 온라인 저지 문제

18장 정수론
18.1 소수 판정
18.2 최대공약수
18.3 거듭제곱
18.4 그 밖의 문제
18.5 백준 온라인 저지 문제

19장 휴리스틱 탐색
19.1 8퀸 문제
19.2 8퍼즐
19.3 15퍼즐
19.4 백준 온라인 저지 문제

부록
이 책에서 설명하는 스킬 목록
참고문헌
[교보문고에서 제공한 정보입니다.]

QuickMenu