이산수학
수와 논리에서 출발해 증명하는 방법을 익히고, 집합·관계·함수·그래프·트리 같은 이산 구조와 부울 대수, 경우의 수와 확률까지 작은 예와 실행한 Python 코드로 확인하며 배웁니다.
조건문이 어떤 입력에서 참이 되는지, 그래프의 정점들을 어떤 순서로 방문하는지, 가능한 입력이 모두 몇 개인지를 정확히 말하려면 수학의 언어가 필요합니다. 이산수학은 셀 수 있는 대상, 곧 정수, 참과 거짓, 유한집합, 그래프 같은 대상을 다루는 수학이고, 프로그램이 다루는 거의 모든 것이 여기에 속합니다. 이 교재는 공식을 외우는 대신, 대상과 조건을 먼저 정하고 작은 예로 확인한 뒤 증명이나 계산으로 답이 맞는 이유를 설명하는 방식으로 진행합니다.
정수의 사칙연산과 분수, 간단한 일차방정식을 알면 시작할 수 있습니다. 나 같은 기호는 2장에서 처음부터 설명하고, 증명이 처음이라면 3장의 짝수와 홀수 예를 종이에 한 줄씩 옮겨 적으며 따라오면 됩니다. 글마다 있는 Python 코드는 손으로 한 계산을 확인하는 도구이며, 프로그래밍 경험이 없어도 본문을 읽는 데는 문제가 없습니다.
예제는 Python 3.14와 3.15에서 실행해 확인했고 표준 라이브러리만 씁니다. 각 코드 블록은 필요한 import와 함수를 모두 담고 있어서, 블록 하나를 lesson.py 같은 파일에 저장하고 터미널에서 python lesson.py로 실행하면 본문에 적힌 출력이 그대로 나옵니다. 환경에 따라 명령 이름이 python3나 py일 수 있으며, Python을 처음 설치한다면 자료구조·알고리즘 교재의 Python 설치부터 첫 실행과 오류 읽기를 먼저 보세요. 코드를 실행하기 전에 결과를 손으로 먼저 예상해 보는 것이 가장 좋은 연습입니다.
각 글은 문제 상황에서 출발해 정의와 예, 증명이나 계산을 거쳐 정리와 연습 문제로 끝납니다. 연습 문제는 해설을 열기 전에 답을 먼저 적어 보고, 답뿐 아니라 어떤 가정을 썼는지, 반례가 있는지도 함께 확인해 보세요. '더 깊이' 절은 증명의 세부나 응용을 궁금해하는 독자를 위한 내용이라 처음 읽을 때는 건너뛰어도 됩니다.
학습 경로
핵심 과정은 1장부터 6장, 8장, 9장의 앞 네 글, 10장 첫 글, 11장과 12장입니다. 7장 전체와 9장 마지막 글, 10장 마지막 글은 선택 심화이며, 건너뛰어도 뒤의 핵심 과정을 읽는 데 지장이 없습니다.
1단계 · 수와 논리, 증명(1–3장)에서는 수의 체계와 진법으로 컴퓨터가 수를 나타내는 방법을 보고, 명제와 술어로 조건을 정확히 적는 법을 익힙니다. 이어서 직접 증명, 대우, 모순, 반례, 수학적 귀납법으로 주장이 맞는 이유를 보이는 방법을 배웁니다.
2단계 · 집합, 관계, 함수(4–6장)에서는 집합의 연산과 분할, 관계의 성질과 폐포, 동치관계와 부분순서, 함수의 단사와 전사와 합성을 다룹니다. 이 장들의 언어는 데이터 모델과 알고리즘을 설명할 때 되풀이해 쓰입니다.
3단계 · 그래프와 트리(8–9장)에서는 그래프의 표현과 차수, 오일러 경로와 해밀턴 경로, 최단 경로, 깊이 우선 탐색과 너비 우선 탐색을 다룹니다. 그다음 트리의 성질을 증명하고, 순회와 수식, 이진 탐색 트리, 최소 신장 트리를 만듭니다.
4단계 · 부울 대수, 경우의 수, 확률(10–12장)에서는 참과 거짓의 계산을 부울 대수와 논리 회로로 옮기고, 합과 곱의 법칙, 포함·배제, 순열과 조합으로 경우의 수를 셉니다. 마지막으로 표본공간과 조건부확률, 독립과 Bayes 정리, 기댓값과 분산을 다룹니다.
선택 심화인 7장은 행렬의 연산과 행렬식, 역행렬과 연립방정식, 관계를 계산하는 행렬을 다룹니다. 5장의 관계를 익힌 뒤 읽으면 되고, 마지막 글은 8장의 그래프를 읽은 다음 보면 더 쉽습니다. 9장 마지막 글의 허프만 코드는 트리와 경우의 수를 이어 쓰고, 10장 마지막 글의 카르노 맵은 부울 대수의 식을 그림으로 줄입니다.
다른 교재로 이어가기
자료구조·알고리즘은 이 교재의 탐색과 트리, 최단 경로를 실행 절차와 시간 복잡도로 넓힙니다. 컴퓨터구조는 진법과 부울 대수가 실제 장치에서 어떻게 쓰이는지 설명하고, 데이터베이스는 집합과 관계를 데이터 설계에 연결합니다. 자격시험의 답안 형식이 필요하면 정보관리기술사 교재를 참고할 수 있습니다.
장별 목차
1장 수와 컴퓨터의 표현
2장 명제·술어·추론
3장 증명과 귀납법
4장 집합과 분할
5장 관계와 순서
6장 함수와 합성
7장 행렬과 연립방정식
8장 그래프와 탐색
9장 트리와 코드
10장 부울 대수와 카르노 맵
11장 경우의 수
12장 확률과 기댓값
다 읽은 뒤에는 정의를 얼마나 외웠는지보다, 작은 예를 직접 만들어 주장을 확인할 수 있는지, 주장이 왜 맞는지 한 단계씩 설명할 수 있는지, 반례를 찾아 조건이 왜 필요한지 보일 수 있는지를 점검해 보세요.