메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

똑똑한 코드 작성을 위한 실전 알고리즘

파이썬 예제로 문제 해결 전략 익히기

한빛미디어

번역서

판매중

  • 저자 : 조지 하이네만
  • 번역 : 윤대석
  • 출간 : 2022-05-20
  • 페이지 : 296 쪽
  • ISBN : 9791162245644
  • eISBN : 9791162245774
  • 물류코드 :10564
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.6점 (36명)
좋아요 : 17

책소개

더 효율적이고 창의적인 코드 작성을 위한 알고리즘 사용법

어려운 개념이나 수식 없이 그림과 예제로 학습하기

 

좀 더 똑똑한 코드로 프로그램 성능을 향상하고 싶다면 이 책을 펼쳐보자. 이 책은 소프트웨어 개발에서 가장 많이 활용되는 핵심 알고리즘을 각각 언제, 어떻게 사용하면 좋은지 단계별로 상세히 알려준다. 알고리즘 진행 과정을 시각화한 그림과 함께 예제 코드를 한 줄씩 알기 쉽게 설명하며, 성능을 직접 측정해볼 수 있도록 실행 가능한 코드를 제공한다. 장마다 수록한 연습 문제는 문제 해결 능력을 향상해 코딩 인터뷰를 준비하는 데도 도움이 된다.

전문 개발자뿐 아니라 자신의 연구 분야에 알고리즘을 적용하려는 사람 모두에게 유용하다. 컴퓨터 과학에 관한 배경지식이 없어도 프로그래밍 언어를 다뤄본 경험이 있으면 충분하다. 예제 설명과 샘플 코드는 직관적이고 접근성이 높은 파이썬으로 작성되었다. 다양한 문제에 대한 접근 방식과 풀이법을 살펴보면서 알고리즘의 원리부터 응용 방법까지 확실하게 익혀보자.

 

 

상세이미지_700_똑똑한 코드 작성을 위한 실전 알고리즘.jpg

저자소개

조지 하이네만 저자

조지 하이네만

소프트웨어 엔지니어링 및 알고리즘 분야에서 20여 년간 경험을 쌓은 컴퓨터공학과 교수다. 『Algorithms in a Nutshell, 2nd ed.』(O’reilly, 2016)의 저자이며 오라일리 사파리에서 <Exploring Algorithms in Python>, <Working with Algorithms in Python>을 비롯한 동영상 강의를 다수 제작했다. 논리 및 수학 퍼즐에 관심이 많아 스도쿠의 변형인 Sujiken 퍼즐과 Trexagon 퍼즐을 발명했다.

윤대석 역자

윤대석

12년간 임베디드 리눅스 커널 개발, 윈도우 애플리케이션 개발, 리얼타임 운영체제에서의 BSP 개발, 백엔드 개발 등 다양한 개발 경험이 있으며 항상 기본에 충실하고자 노력하는 엔지니어다. 알고리즘과 운영체제를 꾸준히 공부하고 있으며, 오픈 소스 리눅스 커널 분석 및 수정 활동에 참여하고 있다. 한빛미디어에서 『쓰면서 익히는 알고리즘과 자료구조』(2021)를 집필하고 『러닝 Go』(2022)를 번역했다.

 

목차

CHAPTER 1 문제 해결

1.1 알고리즘이란

1.2 리스트에서 가장 큰 값 찾기

1.3 주요 연산 횟수 계산하기

1.4 모델로 알고리즘 성능 예측하기

1.5 리스트에서 가장 큰 두 수 찾기

1.6 토너먼트 알고리즘

1.7 시간 복잡도와 공간 복잡도

1.8 요약

1.9 연습 문제

 

CHAPTER 2 알고리즘 분석

2.1 경험적 모델로 성능 예측하기

2.2 곱셈 성능 예측하기

2.3 성능 클래스

2.4 점근적 분석

2.5 모든 수행 계산하기

2.6 모든 바이트 계산하기

2.7 이진 배열 탐색

2.8 이진 배열 탐색으로 리스트에서 값 찾기

2.9 이진 배열 탐색의 또 다른 기능

2.10 알고리즘 성능 비교

2.11 곡선 피팅 vs. 상/하한

2.12 요약

2.13 연습 문제

 

CHAPTER 3 해싱

3.1 키와 연관된 값

3.2 해시 함수와 해시 코드

3.3 (키, 값) 쌍에 대한 해시 테이블 구조

3.4 선형 조사로 충돌 검출 및 해결하기

3.5 연결 리스트를 사용한 분리 연쇄법

3.6 연결 리스트에서 엔트리 삭제하기

3.7 개방 주소법과 분리 연쇄법 평가하기

3.8 동적 해시 테이블

3.9 동적 해시 테이블 성능 분석하기

3.10 완벽한 해싱

3.11 (키, 값) 쌍 순회하기

3.12 요약

3.13 연습 문제

 

CHAPTER 4 힙

4.1 최대 이진 힙

4.2 (값, 우선순위) 삽입하기

4.3 우선순위가 가장 높은 값 제거하기

4.4 배열로 이진 힙 구성하기

4.5 엔트리 이동의 구현

4.6 요약

4.7 연습 문제

 

CHAPTER 5 정렬

5.1 교환을 통한 정렬

5.2 선택 정렬

5.3 성능이 O(N2)인 정렬 알고리즘의 구조

5.4 삽입 정렬과 선택 정렬의 성능

5.5 재귀와 분할 정복

5.6 병합 정렬

5.7 퀵 정렬

5.8 힙 정렬

5.9 O(NlogN) 알고리즘의 성능 비교하기

5.10 팀 정렬

5.11 요약

5.12 연습 문제

 

CHAPTER 6 이진 트리

6.1 시작하기

6.2 이진 탐색 트리

6.3 이진 탐색 트리에서 값 탐색하기

6.4 이진 탐색 트리에서 값 제거하기

6.5 이진 탐색 트리 순회하기

6.6 이진 탐색 트리 성능 분석하기

6.7 자가 균형 이진 트리

6.8 자가 균형 이진 트리 성능 분석하기

6.9 이진 탐색 트리를 (키, 값) 심볼 테이블로 사용하기

6.10 이진 탐색 트리를 우선순위 큐로 사용하기

6.11 요약

6.12 연습 문제

 

CHAPTER 7 그래프

7.1 그래프로 문제 모델링하기

7.2 깊이 우선 탐색으로 미로 풀기

7.3 너비 우선 탐색으로 미로 풀기

7.4 유향 그래프

7.5 가중치 그래프

7.6 다익스트라 알고리즘

7.7 모든 쌍의 최단 경로 문제

7.8 플로이드-워셜 알고리즘

7.9 요약

7.10 연습 문제

 

CHAPTER 8 정리

8.1 파이썬 내장 데이터 타입

8.2 스택 구현하기

8.3 큐 구현하기

8.4 힙과 우선순위 큐 구현

8.5 이후 학습

출판사리뷰

핵심만 골라 확실하게 익히는 파이썬 알고리즘

 

알고리즘 학습에서 가장 중요한 것은 문제 해결 능력입니다. 단순히 각 알고리즘의 기능을 개별적으로만 공부할 것이 아니라, 특정 문제가 주어졌을 때 여러 가지 접근법을 적용해보고 서로 다른 알고리즘의 성능을 비교할 수 있어야 합니다.

 

이 책은 정렬, 이진 탐색, 그래프 등 컴퓨터 과학에서 가장 많이 활용되는 핵심 알고리즘을 사용해 문제를 효율적으로 해결하는 방법을 알려줍니다. 어려운 수식이 아니라 간결한 파이썬 코드 및 대응되는 그림을 따라가면서 알고리즘의 원리를 쉽게 이해하도록 안내합니다. 알고리즘 구현 코드를 한줄 한줄 살펴보고 각 단계를 시각화한 도식과 함께 진행 과정을 차근차근 짚어봅니다. 예제 코드를 직접 실행한 성능 분석 표를 통해 서로 다른 알고리즘의 성능 측정치를 직관적으로 비교해보고, 마지막으로 연습 문제를 풀어보며 각 장에서 배운 내용을 응용해봅니다.

 

예제와 연습 문제는 파이썬으로 작성되었습니다. 파이썬 코드는 간결하고 직관적이며 다양한 유형의 문제에 대응하기 쉬워, 기술 면접이나 시험을 위해 알고리즘을 공부한다면 파이썬이 좋은 선택지입니다.

 

 

대상 독자

  • 컴퓨터 과학의 핵심 알고리즘을 쉽게 익히고 싶은 사람
  • 코드를 개선해 프로그램 성능을 높이고 싶은 사람

 

주요 내용

  • 컴퓨터 과학과 소프트웨어 공학의 핵심 알고리즘을 살펴봅니다.
  • 분할 정복, 동적 프로그래밍, 탐욕 알고리즘 등 효율적인 문제 해결 전략을 학습합니다. 
  • 코드를 분석하고 빅오 표기법을 사용해 시간 복잡도를 평가합니다.
  • 파이썬 라이브러리와 자료구조를 사용해 알고리즘으로 문제를 해결합니다.
  • 중요한 여러 알고리즘의 주요 단계를 이해합니다.

 

추천사

이 책은 코드의 효율을 향상하는 다양한 알고리즘을 소개한다. 컴퓨터 과학에서 사용하는 자료구조와 기본 알고리즘을 알려주어 독자가 더 효율적인 프로그램을 작성하도록 돕는다. 코딩 인터뷰를 준비하는 개발자와 지망생에게도 유용한 가이드가 될 것이다.

즈비 갈릴리, 조지아 공과대학교 명예 컴퓨팅 학장 겸 프레더릭 G. 스토리 의장

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
똑똑한 코드 작성을 위한 실전 알고리즘
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
똑똑한 코드 작성을 위한 실전 알고리즘
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
똑똑한 코드 작성을 위한 실전 알고리즘
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?