티스토리 뷰
'우리가 일상에서 접하는 컴퓨터 과학의 위대한 알고리즘에는 무엇이 있을까?' 이 책은 이런 질문에서 시작한다. 물론 선정 기준이나 관점에 따라 논란의 여지는 있지만 저자는 그 만의 기준으로 아홉가지를 선정했다.
1. 검색 엔진 인덱싱
2. 페이지 랭크
3. 공개 키 암호화
4. 오류 정정 코드
5. 패턴 인식과 인공지능
6. 데이터 압축
7. 데이터베이스
8. 디지털 서명
9. 계산 가능성과 결정 불가능성
1. 일반 컴퓨터 사용자가 날마다 사용하는 알고리즘
2. 대학교 학부 컴퓨터과학 커리큘럼의 중심이 되는 위대한 다수의 알고리즘 배제
3. 하드웨어에 중점을 둔 기술이나 인터넷 같은 인프라스트럭처 설계가 아닌 컴퓨터과학 이론에 우선적으로 연관된 알고리즘
이 책은 프로그래머나 관련 학과 전공자가 아닌 일반인을 대상으로 하고 있다. 그래서 깊이가 많이 부족하지만 신기할 정도로 각 알고리즘을 쉽게 설명한다.
저자인 John MacCormick이 자신의 책을 소개하는 동영상.
"알고리즘을 실행하고 실험하려면 컴퓨터과학 연구자는 알고리즘을 컴퓨터 프로그램으로 변환해야 하고 각 프로그램을 자바, C++, 파이썬 같은 프로그래밍 언어로 작성해야 한다. 그러므로 컴퓨터과학자에게 프로그래밍 언어에 관한 지식은 필수다. 그러나 이는 기본 여건에 불과하다. 가장 큰 도전은 알고리즘을 개발하고 적용하며 이해하는 것이다."
또 다른 관점에서 다른 사람들이 생각하는 위대한 알고리즘을 또 무엇이 있을까 궁금해서 찾아보니 '컴퓨터 진화를 이끈 위대한 알고리즘' 이라는 글이 있어서 참고해 봤다. 허프만 코딩, 공개키 암호화 방식, 유클리드 호제법은 위 책과 일치한다.
1. 허프만 코딩(Huffman Coding)
2. 공개키 암호화 방식(Public-Key Cryptography)
3. 다익스트라 알고리즘(Dijkstra's Algorithm)
4. 이진 탐색 알고리즘(Binary Search Algorithm)
5. 퀵 소트(Quick Sort)
6. 카라슈바 알고리즘(Karatsuba Algorithm)
7. 유클리드 호제법(Euclidean Algorithm)
세계적으로 유명한 기업에서 좋은 SW 개발자를 채용하기 위해서 알고리즘 문제를 내는 이유는 설명이 필요없을 것이다. <미래를 바꾼 아홉 가지 알고리즘>은 알고리즘의 위대함과 중요성을 다시 한번 일깨워 준 책이다.
- James Song
'Books_tech' 카테고리의 다른 글
HTTP 교과서 <HTTP 완벽 가이드> (0) | 2015.04.09 |
---|---|
<프로그래머가 몰랐던 멀티코어 CPU 이야기>를 읽고... (0) | 2015.02.07 |
[도서]1만 페이지 독서력 (0) | 2014.12.25 |
[도서]구글은 어떻게 일하는가 (How Google Works) (0) | 2014.12.14 |
NHN은 이렇게 한다! 소프트웨어 품질 관리 (0) | 2011.11.13 |
- #팀개발
- #스콧마이어스
- #클린코드
- #cplusplus
- #세미나
- #uwp
- Scott Meyers
- #레거시코드
- #코드최적화
- #자녀교육
- 상속
- #scottmeyers
- #프로그래밍심리학
- #build2016
- #로버트마틴
- #csharp
- #mva
- #제럴드와인버그
- #마이클페더스
- Effective C++
- #ndc
- Effective Modern C++
- 책
- 객체 지향 설계
- #EffectiveModernCpp
- #알고리즘
- #techdays2015
- #cpp
- #ModernCPP
- #임백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |