서브메뉴

본문

문제로 풀어보는 알고리즘
문제로 풀어보는 알고리즘
저자 : 황인욱|김용혁
출판사 : 인사이트
출판년 : 2012
ISBN : 9788966260461

책소개

알고리즘, 배울 것인가? 외울 것인가?

알고리즘은 원래 문제를 푸는 과정에서 만들어졌기 때문에, 배울 때도 문제를 풀어보며 접근하는 편이 훨씬 수월하다. 이 책에서는 알고리즘 자체를 먼저 설명하기보다 문제를 제시하고 이를 해결하면서 독자 스스로 알고리즘을 떠올리게 해준다. 네 단계의 난이도로 차별된 문제들을 보며, 입문자들은 쉬운 문제부터 어려운 문제까지 순차적으로 진행할 수 있고, 숙련자라면 자신의 수준에 어울리는 문제들만 취사선택할 수도 있다. 그간 알고리즘이란 어렵다고만 느꼈다면, 이 책을 통해 쉬운 문제부터 풀어보며 차근차근 정복해보자.
[예스24에서 제공한 정보입니다.]

출판사 서평

알고리즘, 배울 것인가? 외울 것인가?

알고리즘은 원래 문제를 푸는 과정에서 만들어졌기 때문에, 배울 때도 문제를 풀어보며 접근하는 편이 훨씬 수월하다.
이 책에서는 알고리즘 자체를 먼저 설명하기보다 문제를 제시하고 이를 해결하면서 독자 스스로 알고리즘을 떠올리게 해준다. 네 단계의 난이도로 차별된 문제들을 보며, 입문자들은 쉬운 문제부터 어려운 문제까지 순차적으로 진행할 수 있고, 숙련자라면 자신의 수준에 어울리는 문제들만 취사선택할 수도 있다.
그간 알고리즘이란 어렵다고만 느꼈다면, 이 책을 통해 쉬운 문제부터 풀어보며 차근차근 정복해보자.

Q. 어떤 책인가?
A. 이 책은 프로그래밍에 필요한 아이디어를 묻고 답하는 형식으로 다룬다. 문제를 설명하고, 독자와 함께 답을 찾고, 답이 맞는지 생각해본다. 어떤 방법이 옳은지, 더 좋은 방법은 없는지 생각하는 습관을 갖도록 하는 것이 이 책의 목적이다.
이 책의 상당 부분은 알고리즘 교과서에 나오는 주제들을 다룬다. 하지만, 엄밀하고 복잡한 식부터 보여주며 시작하는 교과서들과는 달리, 이 책은 구체적이고 쉬운 예부터 시작하여 조금씩 어려운 예들을 다루면서 독자 스스로 알고리즘의 효율성과 정확성을 이해하고 허점을 찾을 수 있게 돕는다.

Q. 다른 책과의 차이점은 무엇인가?
A. 일반적인 알고리즘 책은 문제를 먼저 정의하고 복잡한 식으로 구성된 해법을 보여준 다음, 구체적인 예들을 지나가듯 나열한다. 가르치는 사람 입장에선 깔끔하고 명쾌할지 모르나, 배우는 사람은 흥미를 잃기 쉽다.
이 책은 묻고 답하는 형식을 통해 구체적인 상황에 독자를 마주하게 한다. 때로는 잘못된 방법이나 효율적이지 않은 방법으로도 문제를 풀도록 기다린 후, 어떤 문제가 있었는지 지적하거나 스스로 깨닫도록 묻곤 한다. 책을 읽다가 물음표를 보면 반드시 충분한 시간을 들여 생각해 보자.

Q. 어떤 프로그래밍 언어를 사용하는가?
A. 책의 코드는 모두 C 언어로 작성되었지만, C 언어의 특성이 강하게 드러나는 문법은 가급적 배제했다. 어떤 언어로든 프로그래밍을 해 본 사람이라면, 이 책의 코드가 의미하는 바를 쉽게 알 수 있고 자신에게 익숙한 언어로도 옮길 수 있을 것이다.
[교보문고에서 제공한 정보입니다.]

목차정보

지은이의 글

책을 읽기 전에



00 시작하기

0.1 최대와 최소

0.2 두 변수의 값 바꾸기

0.3 배열 회전

0.4 은행 대기번호 관리

0.5 연결리스트

0.6 추가 문제

0.7 일부 풀이



01 재귀적 프로그래밍

1.1 팩토리얼 계산하기

1.2 연결리스트 출력하기

1.3 이항계수

1.4 피보나치 수열

1.5 금액 맞추기

1.6 수분할

1.7 그레이 코드

1.8 추가 문제

1.9 일부 풀이



02 동적 프로그래밍

2.1 출근길

2.2 출근길 2

2.3 출근길은 즐거워

2.4 부분집합의 합

2.5 최대 이익 투자

2.6 최대 연속부분수열의 합

2.7 추가 문제

2.8 일부 풀이



03 나열하기

3.1 경우의 수

3.2 부분집합

3.3 도둑의 고민

3.4 조합과 중복조합

3.5 연회장 나누기

3.6 중복순열

3.7 순열

3.8 모든 괄호쌍

3.9 추가 문제

3.10 일부 풀이



04 퍼즐

4.1 체스판 덮기

4.2 복면산

4.3 자기 자신을 나타내는 수열

4.4 아인슈타인 퍼즐

4.5 8퍼즐

4.6 추가 문제

4.7 일부 풀이



05 게임

5.1 동전 놓기

5.2 동전 가져가기

5.3 이길 수 있을까

5.4 님 게임 분석

5.5 케일즈

5.6 합리적인 선택

5.7 추가 문제

5.8 일부 풀이



06 정렬과 비교

6.1 토너먼트

6.2 최소 횟수 비교

6.3 삽입 정렬

6.4 퀵 정렬

6.5 퀵 정렬 개선

6.6 과반수 원소

6.7 더욱 빠르게 정렬하기

6.8 탐색

6.9 추가 문제

6.10 일부 풀이



07 계산하기

7.1 행렬 계산

7.2 거듭제곱

7.3 분수

7.4 부동 소수점 계산의 오차

7.5 십진수 연산 라이브러리

7.6 제곱근 구하기

7.7 추가 문제

7.8 일부 풀이



08 확률

8.1 편지 배달

8.2 한가한 서버 찾기

8.3 랜덤 함수

8.4 가중치가 있는 랜덤 함수

8.5 기대 값 시뮬레이션

8.6 몬티홀 문제

8.7 몬테카를로 방법으로 원주율 구하기

8.8 블랙잭 딜러

8.9 추가 문제

8.10 일부 풀이



09 표본추출

9.1 제비뽑기

9.2 표본추출

9.3 순열 뽑기

9.4 패킷 골라

9.5 점 고르기

9.6 점 고르기 2

9.7 추가 문제

9.8 일부 풀이



참고문헌

찾아보기
[알라딘에서 제공한 정보입니다.]

QuickMenu

  • TOP