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