이산수학은 컴퓨터 공학이나 컴퓨터 과학에서 필요한 여러 가지 이론을 이해하기 위하여 갖추어야 할 수학 내용으로 구성되어 있으며 수학의 전공 교과목을 이해하는데 많은 도움이 되는 교과목이다.
이산수학은 논리, 알고리즘, 세는 방법, 관계 및 함수, 그래프, 수형도, 부울대수, 형식언어와 유한상태기계 등으로 구성되어 있으며, 이러한 내용을 학습하면서 알게 된 지식과 기능을 활용하여 실생활의 여러 가지 이산적인 상황을 수학적으로 간결하게 표현하고 처리할 수 있도록 하는 데 중점을 둔다.
이러한 이산수학의 학습 내용은 컴퓨터 과학의 전공 교과목인 자료구조, 알고리즘, 관계형 데이터 베이스 이론, 오토마타와 형식언어, 컴파일러 설계, 선형 프로그래밍, 부호이론, 컴퓨터 보안이나 전자금융에 널리 응용되는 암호이론, 계산이론 등을 위한 수학적 기반을 다질 수 있게 해 주고, 수학의 전공 교과목인 선형대수 및 현대대수, 조합론, 확률론, 수학적 논리, 집합론, 정수론 등에 기초 지식을 제공해준다.
근래에는 수학자들이 컴퓨터의 도움으로 보다 복잡한 대상들에 대한 연구를 할 수 있게 되었고, 기호계산을 할 수 있는 능력이 향상된 소프트웨어인 Mathematica, Maple, Matlab 등을 수학연구에 쉽게 활용할 수 있게 되었다. 이로 인해 전에는 너무 복잡하여 연구하기가 어려웠던 대상들에 대한 연구도 가능하게 되었다. 또한 이산수학에서 얻어진 결과들은 수학의 여러 분야에서 각 분야 고유의 문제들을 연구하는데 응용되고 있다.
이 책에서 다루는 몇 가지 문제는 다음과 같다.
1. 원판을 이동하는 최소 이동횟수를 구하는 점화식을 어떻게 구하는가?
2. 알고리즘의 수행시간을 어떻게 알 수 있는가?
3. 컴퓨터 시스템에서 유효한 패스워드를 선택할 수 있는 방법은 몇 가지인가?
4. 인터넷주소가 얼마나 많은가?
5. 정수들을 오름차순으로 어떻게 정렬하는가?
6. 복권 숫자를 고르는 방법은 몇 가지인가?
7. 20명을 5명씩 4팀으로 나누는 방법은 몇 가지인가?
8. 전사함수의 개수를 구하는 공식을 어떻게 구하는가?
9. 데이터를 빠르게 저장하고 검색할 수 있는 방법은 무엇인가?
10. 포화탄화수소의 개수는 몇 가지인가?
11. 영업사원이 회사에서 출발하여 영업소를 모두 방문한 후에 회사로 돌아오는 방문 경로를 어떻게잡는 것이 효율적인가?
12. 청소차가 거리를 청소할 때 어떤 경로를 따라 청소하는 것이 가장 효율적이겠는가?
13. 여러 위원회의 회의 시간을 겹치지 않으면서 최소 시간으로 배정하려면 어떻게 해야 하는가?
14. 우주 기지에서 지구로 화상을 전송할 때 어떻게 하면 오류를 검출하고 검출된 오류를 정정할 수 있는가?
15. 두 도시 사이의 최단경로 및 최단거리를 어떻게 구하는가?
16. 국경을 공유하고 있는 나라는 서로 다른 색을 칠하여 구분하도록 지도를 색칠하는 알고리즘은 무엇인가?
17. 복잡한 그래프의 최소 생성수형도를 어떻게 구하는가?
18. 수형도의 모든 꼭지점을 한 번씩 방문하는 방법은 무엇인가?
19. 똑같은 기능을 수행하는 간단한 논리회로를 어떻게 구성하는가?
20. 1의 개수가 짝수 개인 단어를 인식하는 유한상태기계를 어떻게 구성하는가?
이 책은 8장으로 구성되어 있으며 컴퓨터 관련학과나 수학과에서 한 학기 또는 두 학기 정도로 학습하기에 적당하며 다음 분류표에 따라 공부할 수 있도록 구성하였다.
-머리말 중에서-