품목정보
출간일 | 2017년 04월 01일 |
---|---|
쪽수, 무게, 크기 | 328쪽 | 756g | 183*235*18mm |
ISBN13 | 9788968483547 |
ISBN10 | 896848354X |
출간일 | 2017년 04월 01일 |
---|---|
쪽수, 무게, 크기 | 328쪽 | 756g | 183*235*18mm |
ISBN13 | 9788968483547 |
ISBN10 | 896848354X |
알고리즘은 쉽게 말해 어떤 문제를 해결하기 위한 명령을 모아 놓은 것이다. 이 책에서 다루는 알고리즘은 다른 코드보다 속도를 빠르게 하거나 아주 흥미로운 문제를 풀기 위한 것이다. 정렬 및 탐색과 같은 작업부터 시작해서 동적 프로그래밍 및 추천 시스템과 같은 훨씬 복잡한 문제를 해결할 수 있는 방법을 배울 수 있다. |
Chapter 1 알고리즘의 소개 ___01 들어가는 글 ______성능에 대해 알아야 하는 것들 ______문제를 풀기 위해 알아야 하는 것들 ___02 이진 탐색 ______더 좋은 탐색 방법 ______실행 시간 ___03 빅오 표기법 ______알고리즘 실행 시간이 증가하는 속도가 다르다면? ______여러 가지 빅오 실행 시간 살펴보기 ______최악의 실행 시간을 나타내는 빅오 표기법 ______많이 사용하는 빅오 실행 시간의 예 ______외판원 문제 [연습문제] Chapter 2 선택 정렬 ___01 메모리가 동작하는 방법 ___02 배열과 연결 리스트 ______연결 리스트 ______배열 ______용어 ______리스트의 가운데에 삽입하기 ______삭제하기 ___03 선택 정렬 ______예제 코드 [연습문제] chapter 3 재귀 ___01 시작하기에 앞서 ___02 재귀 ___03 기본 단계와 재귀 단계 ___04 스택 ______호출 스택 ______재귀 함수에서 호출 스택 사용 [연습문제] chapter 4 퀵 정렬 ___01 분할 정복 ___02 퀵 정렬 ___03 빅오 표기법 복습 ______병합 정렬과 퀵 정렬 비교 ______평균적인 경우와 최악의 경우 비교 [연습문제] chapter 5 해시 테이블 ___01 해시 함수의 소개 ___02 해시 함수 ___03 해시 테이블을 사용하는 예 ______해시 테이블로 조회하기 ______중복된 항목을 방지하기 ______해시 테이블을 캐시로 사용하기 ______해시 테이블의 장점 ___04 충돌 ___05 성능 ______사용률 ______좋은 해시 함수란 [연습문제] chapter 6 너비 우선 탐색 ___01 시작하기에 앞서 ___02 그래프의 소개 ______그래프란 무엇인가? ___03 너비 우선 탐색 ______최단 경로 찾기 ______큐 ___04 그래프의 구현 ___05 알고리즘의 구현 ______실행 시간 [연습문제] chapter 7 다익스트라 알고리즘 ___01 너비 우선 탐색 vs 다익스트라 알고리즘 ___02 다익스트라 알고리즘 ___03 용어 설명 ___04 다익스트라 알고리즘을 사용한 물물 교환 ___05 간선의 가중치가 음수인 경우 ___06 구현 [연습문제] chapter 8 탐욕 알고리즘 ___01 수업 시간표 짜기 문제 ___02 배낭 채우기 문제 ___03 집합 커버링 문제 ______근사 알고리즘 ___04 NP-완전 문제 ______단계별로 풀어보는 외판원 문제 ______어떤 문제가 NP-완전 문제인지 알 수 있는 방법은? [연습문제] chapter 9 동적 프로그래밍 ___01 배낭 채우기 문제 ______단순한 방법 ______동적 프로그래밍 ___02 배낭 채우기 문제에서 자주 하는 질문 ______만약 물건이 추가되면 어떻게 되나요? ______만약 행의 순서가 바뀌면 어떻게 되나요? ______격자를 행 방향이 아니라 열 방향으로 채워도 되나요? ______만약 더 작은 물건을 추가하면 어떻게 되나요? ______물건의 일부만 훔칠 수도 있나요? ______여행 일정 최적화 문제 ______서로 의존적인 물건을 다루는 방법 ______하위 배낭이 두 개 이상인 경우도 있을 수 있나요? ______배낭을 완전히 채우지 못하는 경우도 있나요? ___03 최장 공통 부분 문자열 ______격자 만들기 ______격자 채우기 ______해답 ______최장 공통 부분열 ______최장 공통 부분열 문제의 해답 [연습문제] chapter 10 KNN 알고리즘 ___01 오렌지와 자몽 분류하기 ___02 추천 시스템 만들기 ______특징 추출 ______회귀 분석 ______좋은 특징 고르기 ___03 머신러닝의 소개 ______OCR ______스팸 필터 만들기 ______주식 시장 예측하기 [연습문제] chapter 11 더 공부해야 할 것 ___01 트리 ___02 역 인덱스 ___03 퓨리에 변환 ___04 병렬 알고리즘 ___05 맵리듀스 ______분산 알고리즘이 유용한 이유는? ______맵 함수 ______리듀스 함수 ___06 블룸 필터와 하이퍼로그로그 ______블룸 필터 ______하이퍼로그로그 ___07 SHA 알고리즘 ______파일 비교 ______패스워드 확인 ___08 지역 민감 해싱 ___09 디피-헬만 키 교환 ___10 선형 프로그래밍 ___11 에필로그 |
알고리즘이 무엇이고, 배열, 해시, 등등 다양한 알고리즘들이 있었지만 개인적으로 스택이 가장 흥미로웠던 것 같네요.
이 책은 알고리즘이 무엇인지 알려줌니다. 이 책에서 알고리즘은 "어떤 일을 가장 효율적으로 처리하는 방법 "이라고 알려줍니다. 처음엔 무슨 소리인지 몰랐는데, 2회독정도를 하니 알아듣겠더라고요. 이 책에는 파이썬으로 알고리즘을 실현하는 코드들이 있는데요, 파이썬 구버전이라 그런지 신버전 3.x.x 버전으로 다시 생각하는데 조금 시간이 걸렸던 기억이 나네요. 어쩃든, 이 책의 의도는 알고리즘을 깊게 다루는것이 아니라, 간단히 소개하는것이 목적이기떄문에 정말 소개하는 글 느낌이 많이 났습니다. 알고리즘끼리는 서로서로 연결되있어 융합하는 과정이 중요하다고 아는데, 이 책에서 정확히 알려주고있어서
제목에 이 책의 주제를 다 함축하고 있다.
말그대로 알고리즘의 흐름을 그림으로 친절하게 하나하나 설명하고 있어 술술 읽힌다.
글 읽기 싫어하는 나 조차도 빠른 시간 안에 완독한 정도.
다만 알고리즘의 감을 어느 정도 알게 해주고 더 자세하고 추가적인 알고리즘은 마지막에 설명만 해준다.
알고리즘의 가이드라인을 잡아주는 정도.
알고리즘 입문용으로 적당하다.