논리적 사고를 기르는 알고리즘 수업 롤랜드 백하우스 pdf 다운로드를 무료로 제공합니다 알고리즘 문제 해결 능력은 프로그래머가 갖춰야 할 필수 역량이다. 이를 기르기 위해서는 잘 알려진 알고리즘과 자주 출제되는 문제 풀이를 익히는 것도 좋지만, 좀 더 근본적으로는 문제가 주어졌을 때
관련 책 pdf 모음
책 소개
이 책의 목표는 좋은 문제 해결 기술을 심어 주는 것이다. 전반부는 알고리즘 문제 해결의 원칙을 체계적으로 소개하는 여러 가지 예제로 구성되어 있다. 문제 중심으로 접근하여 자연스럽게 독자들의 도전 성향을 자극한다. 불변량, 귀납법, 대칭성 등 알고리즘 설계의 핵심 원칙은 앞으로 맞닥뜨릴 어떤 문제에든 접근할 수 있는 무기가 된다. 후반부에서는 원칙을 뒷받침하는 수학 지식을 다뤄 예제 이해에 필요한 이론을 제공한다. 알고리즘 문제를 좀 더 효과적으로 푸는 데 딱 필요한 만큼의 수학적 배경지식을 정리할 수 있다. 이 책에서 다루는 문제는 익히 잘 알려진 ‘재미 삼아 푸는 수학 문제’이다. 문제의 답을 찾는 것은 쉽지만 특정한 종류의 문제를 모두 해결할 수 있는 알고리즘을 표현하는 일은 연습이 필요하다. 각종 문제의 알고리즘을 설계하는 연습을 통해 문제 해결에 필요한 논리적 사고와 알고리즘적 접근법을 자연스럽게 익힐 수 있다. 프로그래밍을 잘하려면 어떤 능력이 필요할까? 수학을 잘하면 프로그래밍도 잘할까? 둘 사이에 상관관계가 없진 않으나, 막연히 수학을 잘한다고 해서 프로그래밍을 잘한다고 할 수는 없다. 프로그래밍은 인간보다 계산을 더 잘 수행하는 컴퓨터에 일련의 명령을 내리는 작업인데, 이는 수학적 지식이 많거나 문제를 잘 푸는 것과 조금 다르기 때문이다. 인간은 알고리즘을 실행하는 데 꽤 능하지만 자주 실수하는 반면, 컴퓨터는 알고리즘이 엄밀하게 잘 정의되어 있다면 인간보다 더 잘 실행한다. 하지만 컴퓨터는 알고리즘을 스스로 표현해 낼 능력이 없기 때문에 창의적인 인간의 알고리즘 표현 능력에 의존할 수밖에 없다. 여기서 프로그래머가 발휘할 수 있는 능력은 ‘알고리즘을 잘 표현하는 능력’이다.
논리적 사고를 기르는 알고리즘 pdf
1부 알고리즘 문제 해결
1장 들어가며
2장 불변량
3장 강 건너기
4장 게임
5장 기사와 건달
6장 귀납법
7장 가짜 동전 찾기
8장 하노이의 탑
9장 알고리즘 설계의 원칙
10장 다리 건너기 문제
11장 기사의 순회
2부 수학적 기법
12장 수학의 언어
13장 불리언 대수
14장 한정 기호
15장 정수론의 요소들
16장 관계, 그래프, 경로 대수