확장메뉴
주요메뉴


소득공제
미리보기 공유하기

알고리즘 산책

: 수학에서 제네릭 프로그래밍까지

리뷰 총점9.7 리뷰 3건 | 판매지수 1,212
베스트
IT 모바일 top20 4주
정가
26,000
판매가
23,400 (10% 할인)
YES포인트
시원한 여름을 위한 7월의 선물 - 동물 이중 유리컵/문학 아크릴 화병/썸머 보냉백/이육사 여름담요
박해선 저자의 머신러닝/딥러닝 패스
7월 얼리리더 주목신간 : FIND YOUR WAVE 북서핑 배지 증정
[단독]『혼자 공부하는 파이썬』 개정판 출간
내일은 개발자! 코딩테스트 대비 도서전
YES24 트윈링 분철 : 인서트라벨/스티커 택1 증정
7월 전사
쇼핑혜택
1 2 3 4 5

품목정보

품목정보
출간일 2018년 05월 30일
쪽수, 무게, 크기 424쪽 | 638g | 152*225*30mm
ISBN13 9791160504880

이 상품의 태그

책소개 책소개 보이기/감추기

"좋은 프로그래머가 되려면 제네릭 프로그래밍의 원리를 이해해야 한다. 제네릭 프로그래밍의 원리를 이해하려면 추상화를 이해해야 한다. 추상화를 이해하려면 그 바탕을 이루는 수학을 이해해야 한다." _알렉산더 스테파노프

알렉산더 스테파노프가 설명하는
프로그래밍과 수학 이야기
제네릭 프로그래밍의 개념을 적용해 STL을 만든 스테파노프가 강의하고, 다니엘 로즈가 정리한 프로그래밍과 수학 이야기. 제네릭 프로그래밍의 원리와 추상화에 대한 수학 개념을 살펴보면서 간결하고 정확한 코드를 작성하는 원리를 깨우친다.

수학 개념에서 제네릭 프로그래밍으로
논리적으로 생각하는 프로그래머를 위한 추상대수학과 정수론을 설명한다. 수학자들이 처음 해결해야 했던 문제를 설명하고, 수학의 해법을 어떻게 제네릭 프로그래밍으로 옮기는지 보여주면서 더 효과적이며 우아한 코드를 작성하는 과정을 보여준다. 이러한 수학 원리가 현대 응용 프로그램에서 중요한 역할을 하고 있음을 입증하기 위해 수학 원리와 제네릭 프로그래밍을 사용해 공개 키 암호 시스템을 구현하는 방법을 보여준다.

생각하는 프로그래밍을 배운다
간결하고 정확하게 동작하는 코드를 작성하는 데 필요한 사고법을 익힌다. 협소한 문제를 해결하는 알고리즘을 일반화하면서도 효율성은 떨어뜨리지 않고 유용성은 확대하는 방법을 배우게 된다. 수학적인 의미를 프로그래밍으로 바꾸는 깊이 있는 통찰력도 얻게 된다. 이러한 통찰력은 프로그래밍 언어와 패러다임에 관계 없이 중요한 가치가 있다.

[이 책의 내용]
고대의 곱셈 알고리즘과 개선 방안
정수의 속성과 소수를 찾기 위한 알고리즘
최대공약수 찾기와 추상화
제네릭 프로그래밍의 핵심 개념인 추상대수학
공리체계, 이론, 모델로 알아보는 제네릭 프로그래밍의 구성요소
수학과 알고리즘을 암호화에 적용하는 방법

목차 목차 보이기/감추기

1장 이 책에 관하여
__1.1 프로그래밍과 수학
__1.2 역사적인 관점
__1.3 미리 알아야 할 것
__1.4 로드맵

2장 첫 번째 알고리즘
__2.1 이집트인의 곱셈
__2.2 알고리즘 개선
__2.3 마무리

3장 고대 그리스의 정수론
__3.1 정수의 기하학적인 성질
__3.2 소수 걸러내기
__3.3 코드 구현 및 최적화
__3.4 완전수
__3.5 공측도
__3.6 공측도 개념의 치명적인 약점
__3.7 마무리

4장 유클리드의 알고리즘
__4.1 아테네와 알렉산드리아
__4.2 유클리드의 최대 공약수 알고리즘
__4.3 수학이 없는 밀레니엄
__4.4 영의 기묘한 역사
__4.5 나머지와 몫 알고리즘
__4.6 코드 공유
__4.7 알고리즘 유효성 검증
__4.8 마무리

5장 근대 정수론의 시초
__5.1 메르센 소수와 페르마 소수
__5.2 페르마의 작은 정리
__5.3 상쇄
__5.4 페르마의 작은 정리 증명
__5.5 오일러의 정리
__5.6 모듈러 산술 응용
__5.7 마무리

6장 수학에서의 추상화
__6.1 군
__6.2 단항과 반군
__6.3 군에 관한 정리 몇 가지
__6.4 부분군과 순환군
__6.5 라그랑주 정리
__6.6 이론과 모형
__6.7 범주 이론과 비범주 이론의 예
__6.8 마무리

7장 제네릭 알고리즘 유도 방법
__7.1 알고리즘 요구조건 매듭 풀기
__7.2 A에 대한 요구조건
__7.3 N에 대한 요구조건
__7.4 새로운 요구조건
__7.5 곱셈에서 거듭제곱으로
__7.6 연산 일반화
__7.7 피보나치 수 계산
__7.8 마무리

8장 기타 대수구조
__8.1 스테빈, 다항식 그리고 최대 공약수
__8.2 괴팅겐과 독일의 수학자들
__8.3 뇌터와 추상대수학의 탄생
__8.4 환
__8.5 행렬곱과 반환
__8.6 응용: 소셜 네트워크와 최단 경로
__8.7 유클리드 영역
__8.8 체와 기타 대수구조
__8.9 마무리

9장 수학 지식 체계화 과정
__9.1 증명
__9.2 첫 번째 정리
__9.3 유클리드와 공리적 방법
__9.4 비유클리드 기하학
__9.5 힐베르트의 형식주의 접근법
__9.6 페아노와 그의 공리
__9.7 산술 구축하는 법
__9.8 마무리

10장 기초 프로그래밍 개념
__10.1 아리스토텔레스와 추상화
__10.2 값과 유형
__10.3 개념
__10.4 반복자
__10.5 반복자의 범주와 연산, 속성
__10.6 구간
__10.7 선형 검색
__10.8 이진 검색
__10.9 마무리

11장 순열 알고리즘
__11.1 순열과 호환
__11.2 구간 맞바꾸기
__11.3 회전
__11.4 순환 사용법
__11.5 뒤집기
__11.6 공간 복잡도
__11.7 메모리 적응형 알고리즘
__11.8 마무리

12장 GCD 확장
__12.1 하드웨어의 제약과 더 효율적인 알고리즘
__12.2 슈타인 알고리즘 일반화
__12.3 베주 항등식
__12.4 확장된 GCD
__12.5 GCD의 응용
__12.6 마무리

13장 실전 응용
__13.1 암호학
__13.2 소수 여부 검사법
__13.3 밀러 - 라빈 테스트
__13.4 RSA 알고리즘의 작동 원리
__13.5 마무리

14장 결론

15장 읽을거리

부록 A 표기법

부록 B 일반적인 증명 기법
__B.1 귀류법
__B.2 수학적 귀납법
__B.3 비둘기집 원리

부록 C C++의 기초
__C.1 템플릿 함수
__C.2 개념
__C.3 선언 구문과 유형이 정해진 상수
__C.4 함수 객체
__C.5 전제 조건, 사후 조건 그리고 assert 구문
__C.6 STL 알고리즘과 자료구조
__C.7 반복자와 구간
__C.8 C++11의 using을 이용한 유형 앨리어스와 유형 함수
__C.9 C++11의 리스트 초기화
__C.10 C++11의 람다 함수
__C.11 inline 지시자에 관하여

부록 D 참고문헌

저자 소개 (3명)

회원리뷰 (3건) 리뷰 총점9.7

혜택 및 유의사항?
알고리즘 산책 내용 평점5점   편집/디자인 평점4점 t****r | 2018.08.31 | 추천4 | 댓글0 리뷰제목
저는 암기하고 어떤 개념에 대해서 익히는 데에 굉장히 많은 시간과 노력을 들여야 외울 수 있습니다. 그렇기 때문에 학교 수학 시간은 매우 힘든 시간들이었습니다.(필자는 고등학생입니다.) 그러면서 C언어를 막 끝내고 주위에서는 프로그래밍과 수학에 연관성에 대하여 강조하며 저 또한 해야겠다는 생각은 많았지만 "지금 고등학교 수학도 벅차게 따라가는 내가 과연 할 수 있을까?";
리뷰제목

저는 암기하고 어떤 개념에 대해서 익히는 데에 굉장히 많은 시간과 노력을 들여야 외울 수 있습니다. 그렇기 때문에 학교 수학 시간은 매우 힘든 시간들이었습니다.(필자는 고등학생입니다.) 그러면서 C언어를 막 끝내고 주위에서는 프로그래밍과 수학에 연관성에 대하여 강조하며 저 또한 해야겠다는 생각은 많았지만 "지금 고등학교 수학도 벅차게 따라가는 내가 과연 할 수 있을까?" 라는 생각에 어떤 것부터 배워야 할지도 막막하였고 어떤 책이 좋을까도 항상 고민하고 있었습니다. 그러던 도중에 보게 된 게 알고리즘 산책이었는데 수학에 관하여 스토리가 들어가 있고 만든 인물들에 관한 내용이 나와 있으니 책을 보는데 내가 이 개념들을 이해하고 있다는 것과 수학을 프로그래밍의 알고리즘으로 풀어놓은 것을 작성하는 기쁨에 너무 좋았습니다. 1장부터 3장까지는 고등학교 수준의 수학능력과 C++ 그리고 구글링을 통해 학습 가능한 내용이었습니다. 4장에 나온 유클리드 알고리즘은 매우 신비한 내용으로 가득했지만, 수학의 내용 중에서 표현하는 방법이 여러 가지로 갈리는 내용에서 이해하기 어려운 표기법으로 있던 게 많아서 이 부분에 대해서는 조금 아쉬웠습니다(대부분 영어 표기를 괄호에 해주셨지만 없던 부분들도 있었고 구글링으로 찾아서 이해한 부분들이 종종 있었습니다.) 3장 이후에는 mod 나 파이(곱) 값 등 고교 과정을 넘어가는 내용이었지만 부록의 설명과 구글링으로 커버가 가능한 내용이었고 무엇보다 수식과 C++ 코드들이 잘 나와 있어서 학습하는 데에는 큰 지장이 없었습니다. 또한 책 중간중간에 참고할만한 논문이나 책등을 추천해줘서 공부할만한 범위들을 알 수 있어서 좋았고 앞으로 더 무언가 할 수 있도록 도와준 저에게는 고마운 책입니다.

댓글 0 4명이 이 리뷰를 추천합니다. 공감 4
수학과 알고리즘의 조화!!! 알고리즘산책: 수학에서 제네릭 프로그래밍까지 내용 평점5점   편집/디자인 평점5점 폴*드 | 2018.08.30 | 추천0 | 댓글0 리뷰제목
요즘 기업에서 코딩 테스트를 중요시 하다 보니 알고리즘 관련 책들이 많이 나오고 있다. 나도 1년전에 회사에서 진행하는 코딩 자격시험 준비때문에 여러가지 알고리즘 책들을 많이 봤었다. 물론 패스하고 난 후에는 좀 안보긴 했지만. 그런데 알고리즘 공부를 하다 보면 부딪치는게 있다. 바로 수학이다. 특히 확률, 경우의 수와 같은 내용들은 시험에도 응용해서 자주 나오는 편;
리뷰제목


요즘 기업에서 코딩 테스트를 중요시 하다 보니 알고리즘 관련 책들이 많이 나오고 있다. 나도 1년전에 회사에서 진행하는 코딩 자격시험 준비때문에 여러가지 알고리즘 책들을 많이 봤었다. 물론 패스하고 난 후에는 좀 안보긴 했지만. 

그런데 알고리즘 공부를 하다 보면 부딪치는게 있다. 바로 수학이다. 특히 확률, 경우의 수와 같은 내용들은 시험에도 응용해서 자주 나오는 편이었다. 분명 중,고등학교때에 배운 내용인데도 지금은 하나도 생각이 안난다. 그래서 수학 공부를 해불까라는 생각도 자주 했다. 그런데 범위가 넓다보니 뭐부터 시작을 해야할지 좀 막막했었다. 그렇다고 수학의 정석을 처음부터 공부할수도 없는 노릇이다. 


1. 나는 알고리즘 공부를 하고 싶다. 

2. 나는 수학도 공부를 하고 싶다. 단 수학에 대한 인물들에 대해서도 좀 알고 싶다. 


이게 바로 내가 바라는 것이었다. 알고리즘 책을 보면 알고리즘 내용만 나오고 , 수학책을 펴면 수학만 나오고. 아직 그걸 연결 시킬정도의 실력은 안되니 어떻게 해야 할지 난감 했는데 이번에 받은 책이 딱 거기에 부합하는것 같다. 



일단 알고리즘 책이니 알고리즘에 대한 내용이 나오는것은 당연하다. 그런데 이렇게 알고리즘을 수학적으로 설명을 해준다. 수학적이라고 해서 그렇게 난이도가 높지는 않다. 그냥 차분히 읽었을때 분명 이해를 할 수 있을 정도이다. 용어에 대한 정의가 생각이 안나서 찾아 볼 수는 있지만 그래도 책 안에서 모든 내용을 이해할 수 있다. 읽다보면 예전에 중,고등학교때에 배웠던 내용들도 생각이 나면서 재미있다.



그리고 주목할 만한 내용으로는 수학이나 알고리즘에 대한 설명만 있는게 아니라 그것을 만든사람, 또는 관련있는 사람에 대해서 짧게나마 설명을 해준다. 내가 위에서 언급했던 2가지 조건을 딱 충족하는 부분이다. 전에 수학에 대해서 책을 좀 볼까 라고 마음 먹고 책을 좀 찾아봤었는데 보통 인물 도감 같은 느낌의 책들이 많았었다. 그런데 이 책은 이렇게 중간중간 내용을 넣어줘서 책을 좀더 재미있게 읽을 있었다.


알고리즘과 수학에 지식을 동시에 충족 시키고 싶은 분들에게 이 책을 추천해주고 싶다. 



http://blusky10.tistory.com/356

댓글 0 이 리뷰가 도움이 되었나요? 공감 0
구매 어려워요! 진짜 어려워요! 내용 평점5점   편집/디자인 평점5점 n****9 | 2018.07.16 | 추천0 | 댓글0 리뷰제목
고등학교 수포자인 저에게는 너무 어려운책!기술서 보는것에 너무 익숙해져 있어서 그런지 C로짠 소스와 내용을 봐도 처음에는 이해가 어려웠습니다.하지만 이책의 대단한점은 2장의 내용을 다 읽고나서 아 2장 처음의 알고리즘이 이정도까지 줄을수 있나? 라고 감탄하게 된다는 점입니다.저 같은 수포자는 책내용보다는 배경 수식이나 내용을 찾는것이 시간이 더 오래 걸립니다.하지만;
리뷰제목
고등학교 수포자인 저에게는 너무 어려운책!
기술서 보는것에 너무 익숙해져 있어서 그런지 C로짠 소스와 내용을 봐도 처음에는 이해가 어려웠습니다.

하지만 이책의 대단한점은 2장의 내용을 다 읽고나서 아 2장 처음의 알고리즘이 이정도까지 줄을수 있나? 라고 감탄하게 된다는 점입니다.

저 같은 수포자는 책내용보다는 배경 수식이나 내용을 찾는것이 시간이 더 오래 걸립니다.

하지만 이 난해한 책을 다 읽고 조금이라도 이해한다면 확실한 성장이 있을것이라고 느끼며 읽고 있습니다.
(다 읽을 때까지 몇년이 걸릴지는 미정...)
댓글 0 이 리뷰가 도움이 되었나요? 공감 0

한줄평 (7건) 한줄평 총점 9.8

혜택 및 유의사항 ?
구매 평점5점
좋아요
이 한줄평이 도움이 되었나요? 공감 0
이*옹 | 2022.01.28
구매 평점5점
잘 읽었어요
이 한줄평이 도움이 되었나요? 공감 0
M*******y | 2021.09.18
구매 평점4점
잘 보겠습니다.
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 로얄 잼***기 | 2019.02.20
  •  쿠폰은 결제 시 적용해 주세요.
1   23,400
뒤로 앞으로 맨위로 aniAlarm