로그인정보 입력 영역
  • 다운로드
  • 뷰어사용안내
  • 자료대출안내
  • 모바일이용안내

새로나온 책

공지사항

  • 등록된 게시글이 없습니다.
더보기

컨텐츠상세보기

Hello Coding 그림으로 개념을 이해하는 알고리즘
Hello Coding 그림으로 개념을 이해하는 알고리즘
  • 저자<아디트야 바르가바> 저/<김도형> 역
  • 출판사한빛미디어
  • 출판일2017-05-01
  • 등록일2017-11-06
보유 1, 대출 0, 예약 0, 누적대출 26, 누적예약 0

책소개

알고리즘은 쉽게 말해 어떤 문제를 해결하기 위한 명령을 모아 놓은 것이다. 이 책에서 다루는 알고리즘은 다른 코드보다 속도를 빠르게 하거나 아주 흥미로운 문제를 풀기 위한 것이다. 정렬 및 탐색과 같은 작업부터 시작해서 동적 프로그래밍 및 추천 시스템과 같은 훨씬 복잡한 문제를 해결할 수 있는 방법을 배울 수 있다.  

목차

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 에필로그