이미 소장하고 있다면 판매해 보세요.
|
CHAPTER 1 프로그래밍 콘테스트 (초급편)
1-1 프로그래밍 콘테스트란 무엇인가요? 1-2 어떤 콘테스트가 있나요? 세계적인 규모의 콘테스트 - Google Code Jam(GCJ) 상위 랭크를 목표로! - TopCoder 역사 깊은 콘테스트 - ACM/ICPC 중학생, 고등학생을 위한 정보 올림피아드 - KOI/IOI 웹에서 자동 채점 - online judge 1-3 이 책은? 다루는 내용 사용하는 언어 문제를 다루는 방법 프로그램은 이 책을 다 읽은 후 1-4 어떻게 해답을 제출하나요? POJ에 제출하는 방법 GCJ에 제출하는 방법 1-5 효율적인 알고리즘을 목표로! 계산량이란? 실행시간이란? 1-6 가볍게 워밍업 먼저 간단한 문제부터 POJ 문제 [Ants] 허들이 높아진 [제비 뽑기] CHAPTER 2 기초부터 시작하기 (초급편) 2-1 모든 것의 기본 '전全탐색' 재귀함수 스택 큐 깊이 우선 탐색 너비 우선 탐색 특수한 상태의 열거 가지치기 2-2 탐욕 알고리즘 코인 문제 구간 스케줄링 문제 COLUMN 알고리즘의 증명 Best Cow Line Saruman's Army Fence Repair COLUMN 하프만 부호 2-3 값을 기억해서 재활용하는 '동적 설계법' 탐색의 메모화 및 동적 설계법 COLUMN memset COLUMN 초기화 COLUMN 다양한 DP 점화식 공부 COLUMN 재활용 방법 COLUMN lower_bound 계산 문제에 관한 DP 2-4 데이터를 효율적으로 기억하는 '데이터 구조' 트리·이진트리 우선순위 큐와 힙 이진탐색 트리 Union-Find 트리 2-5 모든 것이 사실은 그래프 그래프란? 그래프의 표현 그래프 탐색 최단경로 문제 연습문제 2-6 GCJ 문제에 도전하기(1) Minimum Scalar Product Crazy Rows Bribe the Prisoners Millionaire CHAPTER 3 여기서 차이가 난다 (중급편) 3-1 수학적인 문제를 푸는 요령 유클리드 호제법 COLUMN 증명이나 법칙 소수에 관한 기본적인 알고리즘 나머지 계산 제곱승을 고속으로 계산한다 3-2 값 탐색만이 아니다 '이진탐색' 정렬된 열로부터 값 찾기 해를 가정하고 가능할지 판정 COLUMN 종료 조건 최소 값의 최대화 평균최대화 3-3 엄선 자주 출제되는 유형 테크닉(1) inchworm 알고리즘 반전 COLUMN 집합 정수 표현 탄성충돌 half 전열거 표준압축 3-4 여러 가지 데이터 구조를 조작해보자 세그먼트 트리 COLUMN Sparse 테이블 BIT란? 버킷 방식과 평방 분할 3-5 동적 계획법을 연구한다! 비트 DP COLUMN 완벽매칭의 갯수 행렬 거듭제곱 COLUMN 좀 더 고속으로 점화식 계산하기 데이터 구조를 이용한 고속화 3-6 네트워크 플로우 최대흐름 최소절단 COLUMN 여러 가지 그래프에 대한 최대흐름 COLUMN 고속의 플로우 알고리즘 이분매칭 일반매칭 매칭·변 덮개·안정집합·점 덮개 최소비용흐름 COLUMN 여러 가지 그래프에 대한 최소비용흐름 연습문제 3-7 GCJ 문제에 도전해보자(2) Numbers No Cheating Stock Charts Watering Plants COLUMN 계산 오차 Number Sets Wi-fi Towers CHAPTER 4 좀 더 연구하자! (상급편) 4-1 복잡한 수학적 문제 행렬 mod의 세계 열거 대칭성이 있는 열거 4-2 게임의 필승법을 생각하자! 게임과 필승법 Nim Grundy 수 4-3 그래프 마스터의 길 강한 연결 성분 분해 2-SAT LCA 4-4 엄선! 자주 출제되는 테크닉(2) 스택의 사용 데큐의 이용 LogStepDP 4-5 GCJ 문제에 도전해봅시다(3) Mine Layer Year of More Code Jam COLUMN 다배장 연산 Football Team Endless Knight The Year of Code Jam |
|
_대상 독자
프로그래머가 되고자 하는 학생 각종 프로그래밍 경시대회를 준비하는 학생 '프로그래밍 뇌'가 조금씩 작아지고 있다고 생각하는 프로그래머 알고리즘 면접을 보는 국제/국내 유수의 IT 기업 취업을 준비하고 있는 예비 프로그래머 최고의 알고리즘을 찾을 때까지 당신의 뇌를 뛰게 하라! 극한의 알고리즘 트레이닝, 최고의 프로그래머를 꿈꾼다! 문제 해결 능력을 겨룬다! 성능, 문제 해결, 아이디어 등을 겨루는 다양한 프로그래밍 콘테스트(경시대회)가 있습니다. 이 책은 그 중에서 문제 해결을 겨루는 콘테스트를 다룹니다. 프로그래머로서 기초체력을 튼튼히! 프로그래밍 콘테스트에서는 효율적인 알고리즘을 생각하고 정확하게 구현해야 합니다. 다양한 문제에 대해 유연한 발상이 필요하고 기초적인 알고리즘 지식을 갖추어야 합니다. 말 그대로 콘테스트 준비를 함으로써 프로그래머로서 기초체력을 튼튼히 할 수 있습니다. '프로그래밍 뇌'의 증강을 위해! 프로그래머가 되고자 하는 학생뿐만 아니라 현업 프로그래머도 '프로그래밍 뇌'의 증강을 위해 한 번쯤 도전해볼 만합니다. 자신의 알고리즘 능력을 점검해볼 수 있고 응시자와 선의의 경쟁을 통해 실력을 가늠하고 학습 모티브를 얻을 수 있습니다. 다양한 콘테스트에 대비한다! 세계적인 규모의 콘테스트: Google Code Jam(GCJ) 상위 랭크를 목표로: TopCoder 역사 깊은 콘테스트: ACM/ICPC 중학생, 고등학생을 위한 정보 올림피아드: KOI/IOI 유수 IT 기업의 면접에 대비한다! 구글, MS, 국내 유수의 IT 기업 등의 알고리즘 능력 점검을 위한 면접 시험에 대비할 수 있습니다. _편집자 코멘트 이 책에서 주어진 문제는 눈으로 풀어도 출력값은 구할 수 있습니다. 하지만 이것을 일반화하기 위해서는 특수한 알고리즘 기법이 필요합니다. 수많은 알고리즘을 책으로 무진장 많이 학습했다고 해서 쉽게 그러한 알고리즘 기법을 떠올리지는 못하겠죠? 이 책은 바로 이론으로만 알고 있는 알고리즘 지식을 어떤 상황에서도 생각해내서 응용할 수 있게 해주는 책입니다. 물론, 간단하게 이론을 정리해서 설명해주기도 합니다. 이 책이 여러 유용한 점이 있기는 하지만, 시험만을 준비하기 위해 문제 유형과 해법을 달달 외우기만 한다면, 프로그래밍 능력에서 중요한 요소인 창의력과 끈질기게 해법에 도전하는 지구력은 결코 얻을 수 없을 것입니다. 이 책을 학습할 때 생각의 깊이를 좀더 깊게 파고 창의적 사고의 너비를 좀더 넓게 두었으면 좋겠습니다. 누구에게는 힘든 정신적 노동일 수 있고 누구에게는 뇌에서 우러나는 소리 없는 땀이 주는 맛을 크게 맛볼 수 있는 계기가 될 것으로 생각합니다. 한번 도전해보세요! 참, 알고리즘 면접을 치르는 IT 기업의 취업 준비에도 도움이 될 수 있습니다. "최고의 알고리즘을 찾을 때까지 당신의 뇌를 뛰게 하라!" |