Hello Coding 알고리즘 - 아디트야 바르가바 지음
Hello Coding 알고리즘

저자 : 아디트야 바르가바 번역 : 김도형

발행일 : 2017년 04월 01일 출간

분류 : 컴퓨터/IT > 컴퓨터공학 > 자료구조/알고리즘 KDC : 총류(000)

정가 : 22,000원

출판사
출판사연락처
출판사 주소
쪽수
328
ISBN
9788968483547
크기
186 * 236 * 19 mm / 758 g

도서분류

컴퓨터/IT > 컴퓨터공학 > 자료구조/알고리즘
컴퓨터/IT > 대학교재
대학교재 > 컴퓨터

도서소개

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

상세이미지


저자소개

저자 아디트야 바르가바 저자 아디트야 바르가바(Aditya Y. Bhargava)는 온라인에서 핸드메이드 상품을 판매하는 엣시(Etsy)의 소프트웨어 엔지니어이다. 시카고 대학에서 전산학 석사를 취득하였으며, adit.io에서 인기있는 기술 블로그를 운영하고 있다. 역자 김도형 역자 김도형은 KAIST에서 자동 제어와 신호 처리를 전공했으며, 박사학위를 받았다. LG 전자와 대우증권에서 음성 신호 처리, 파생상품 프라이싱 시스템, 금융 정보 모니터링 시스템, 알고리즘 매매 시스템 등을 파이썬으로 개발하였고, 현재는 파이썬 기반의 금융 분석, 최적 집행용 소프트웨어와 서비스를 만들고 있다. 파이썬이 더 널리 퍼질 수 있게 도울 수 있는 징검다리가 되고자 파이썬을 이용한 데이터 분석 강의를 하며 사이트를 꾸리고 있다. 파이썬을 활용한 금융 분석: 파이썬의 기초부터 금융공학, 머신러닝, 퀀트 분석, 매매 시스템 구현까지

목차

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

서평

어떤 독자를 위한 책인가? -. 프로그래밍을 전혀 경험해보지 못한 비전공자 (중/고등학생, 대학생, 일반인) -. 알고리즘의 기본기를 익히고자 하는 사람 -. 프로그래밍에 관심이 있는 이공계 학생 도서 특징 프로그래밍 세계로 초대하는 알고리즘 입문서 알고리즘은 전공자에게도 어렵게 느껴지죠? 이 책은 중학교 수준의 수학 지식만 있으면 이해할 수 있도록 쉽게 설명되어 있습니다. 알고리즘이 지루하고 어렵다는 편견을 깨기 위해 알기 쉽게 설명된 그림과 파이썬을 기반으로 한 친숙한 예제를 사용했습니다. 전공자는 물론 비전공자까지도 알고리즘의 흥미로운 논리 세계로 안내할 것입니다. [추천사] “이 책은 불가능한 일을 가능하게 했습니다. 수학이 즐겁고, 쉬워졌습니다.” - 샌더 로셀, COAS 소프트웨어 시스템즈 “재미있는 소설을 읽듯이 알고리즘을 배우고 싶다면, 지금 이 책을 선택하세요.” - 상카 라마나단, IBM 애널리틱스 [Hello Coding] 시리즈 소개 Hello Coding? 프로그래밍이 처음인가요? 배운 적은 있지만, 재미를 느끼지 못했다고요? 그래서 시리즈를 준비했습니다! 이 시리즈의 목표는 ‘쉽고’, ‘재미있게’, ‘끝까지’ 책을 읽는 데 있습니다. 이 책 한 권으로 프로그래밍의 고수가 될 수는 없겠지만, 프로그래밍의 재미는 확실하게 느낄 수 있을 겁니다. 이제, 시작해 볼까요? 누가 이 책을 읽어야 하나요? -. 프로그래밍을 전혀 경험해보지 못한 비전공자 (중/고등학생, 대학생, 일반인) -. 알고리즘의 기본기를 익히고자 하는 사람 -. 프로그래밍에 관심이 있는 이공계 학생
목록
장바구니 담기