1장 재귀적인 문제들
1.1 하노이의 탑
1.2 평면의 선들
1.3 요세푸스 문제
연습문제
2장 합
2.1 표기법
2.2 합과 점화식
2.3 합의 조작
2.4 다중합
2.5 일반적인 방법들
2.6 유한.무한 미적분
2.7 무한합
연습문제
3장 정수 함수
3.1 바닥과 천장
3.2 바닥.천장 함수의 응용
3.3 바닥.천장 점화식
3.4‘mod’: 이항 연산
3.5 바닥.천장 합
연습문제
4장 정수론
4.1 나누어떨어짐
4.2 소수
4.3 소수의 예
4.4 계승과 인수
4.5 서로 소 성질
4.6‘mod’: 합동 관계
4.7 독립 잉여
4.8 추가 응용
4.9 피φ와 뮤μ
연습문제
5장 이항계수
5.1 기본적인 항등식들
5.2 기본 연습
5.3 필수 기법
5.4 생성함수
5.5 초기하함수
5.6 초기하 변환
5.7 부분 초기하 합
5.8 기계적 합산
연습문제
6장 특별한 수들
6.1 스털링 수
6.2 오일러 수
6.3 조화수
6.4 조화수 합산
6.5 베르누이 수
6.6 피보나치 수
6.7 연항식
연습문제
7장 생성함수
7.1 도미노 이론과 거스름돈
7.2 기본 기법
7.3 점화식 풀기
7.4 특별한 생성함수들
7.5 합성곱
7.6 지수 생성함수
7.7 디리클레 생성함수
연습문제
8장 이산 확률
8.1 정의
8.2 평균과 분산
8.3 확률 생성함수
8.4 동전 던지기
8.5 해싱
연습문제
9장 점근법
9.1 함수들의 서열
9.2 대문자 O 표기법
9.3 O-표기의 조작
9.4 두 가지 점근 요령
9.5 오일러의 합산 공식
9.6 최종 합산
연습문제
부록 A 연습문제 해답
부록 B 참고문헌
부록 C 연습문제 출처
찾아보기
표 차례
컴퓨터 프로그래밍 역량을 탄탄하게 다져주는 수학은 따로 있다!
『CONCRETE MATHEMATICS』는 스탠퍼드 대학에서 컴퓨터과학도를 대상으로 1970년부터 매년 가르쳐 온 동명의 강좌 내용을 바탕으로 하고 있다. 저자들은 컴퓨터 프로그래밍을 이해하기 위해 필요한 수학이 무엇인지를 파악해서 학생들에게 가르치기 시작했고, 이 책은 그 수십 년 강의를 정리한 것이다.
이 책의 목적은 복잡한 문제를 풀고, 난해한 합을 평가하고, 자료에서 미묘한 패턴을 발견하는, 즉 알고리즘을 이해하고 문제를 해결하는 능력을 기르기 위해 필요한 수학적 기초를 제공하는 것이다. 수식을 조작하는 기법을 강조해서 다루며 연습문제를 통해 내용을 정확히 이해했는지 확인할 수 있게 했고, 해답까지 제시하여 독자 스스로 공부할 수 있도록 구성했다. 내용을 끝까지 따라가면 수학의 기초 지식과 함께 컴퓨터 프로그램을 상세하게, 그리고 근거 있게 이해하는 데 좀 더 큰 그림을 그릴 수 있는 역량을 쌓게 될 것이다.
* 이 책에서 다루는 주제
합 . 점화식 . 정수 함수 . 초등 정수론 . 이항계수 . 생성함수 . 이산 확률 . 점근법
* 대상 독자
- 컴퓨터나 프로그래밍 관련 분야 전공자(이산수학 공부나 복습을 위한 목적
- 소프트웨어 분야 현업에서 일하고 있는 개발자(알고리즘의 기초, 혹은 기초 수학 공부를 위한 목적
- 컴퓨터 과학을 공부하거나 이산수학에 관심이 있는 학생과 교사