나에게 필요한 지식과 기술을 검색해 보세요.

Introduction To Algorithms, Third Edition

지은이

토머스 코멘, 찰스 레이서손, 로날드 리베스트, 클리포드 스타인

옮긴이

문병로, 심규석, 이충세

출간일

2014.07.10

레벨

중고급

평점

5(1명)

정가

47,000

총 결제 금액

47,000

적립 예정

1,410P

쪽수

1348P

ISBN

9791156641131

브랜드

한빛아카데미

본 도서는 연습문제 해답을 제공하지 않습니다.

Introduction To Algorithms(4판)이 24년 7월 11일 출간 예정입니다.


저명한 컴퓨터공학과 교수들과 수많은 프로그래머들이 극찬한 알고리즘 분야 최고의 명저


초판 때부터 전 세계 여러 대학에서 교재로뿐만 아니라 전문가들의 표준 참고서로 활용되어 온 책의 세 번째 판이다. 매우 다양한 알고리즘을 다루면서도 상당히 심도 있게 설명하여 정밀함과 포괄성이라는 두 가지 측면을 균형 있게 만족시켜 준다. 또한 각 장이 독립적으로 완결된 형태를 갖춰 필요한 내용을 찾아 참고하기 편하고, 모든 알고리즘이 프로그래밍 경험이 있으면 누구라도 이해할 수 있는 의사코드로 작성되어 있어 이론과 실전이라는 두 마리 토끼를 함께 잡을 수 있다. 

 

특히 개정 3판에서는 많은 변화를 통해 완성도가 한층 강화되었다. 먼저 반 엠데 보아스 트리와 멀티스레드를 다루는 장이 추가되고, 점화식이 분할정복 장으로 정비되었다. 그리고 동적 프로그래밍과 그리드 알고리즘에 개선된 방법이 추가되었고, 플로우 네트워크에도 새로운 개념이 도입되었다. 이외에도 전체 내용이 다듬어지고 갱신되었는데, 특히 연습문제와 종합문제에 더 다양한 응용 문제가 추가되었을 뿐만 아니라 이에 대한 모범답안이 웹 사이트를 통해 제공된다.

 


【도서 장점(개정 3판에서의 변화)】

  • 엠데 보아스 트리와 멀티스레드 알고리즘 장 추가, 부록에 행렬의 기초 내용 추가
  • 점화식 장을 다양한 분할-정복 기법을 다루는 장으로 변경
  • 이항 힙과 정렬 네트워크 장 삭제하고 피보나치 힙을 이항 힙이 의존적이지 않게 다룸
  • 동적 프로그래밍과 그리디 알고리즘 수정
  • 이진 검색 트리(레드-블랙 트리 포함)에서 노드를 삭제하는 방법이 삭제를 요청한 노드가 실제로 삭제 노드가 되는 것을 보장하도록 수정
  • 플로우 네트워크 장이 간선에서 플로우하는 것을 기본으로 함
  • 행렬의 기초 내용과 스트라센 알고리즘을 다른 장으로 옮기고 행렬 연산 장 축소
  • 크누스-모리스-프랫에 의한 스트링-매칭 알고리즘 수정
  • 여러 오류 수정
  • 의사코드 문장 변경
  • 새로운 연습문제100개 종합문제 28개 추가, 참고문헌 추가 및 갱신
  • 전반적인 문장, 단락, 절 수정

 

【부/장별 내용 요약】

  • 1부. 기초(1~5장) : 알고리즘의 설계와 분석을 학습한다.
  • 2부. 정렬과 순서 통계량(6~9장) : 정렬 문제를 푸는 다양한 알고리즘을 소개한다.
  • 3부. 자료구조(10~14장) : 유한한 동적 집합을 표현하는 기본 방법과 컴퓨터에서 이를 다루는 방법을 설명한다.
  • 4부. 고급 설계 및 분석 기법(15~17장) : 효율적인 알고리즘의 설계와 분석을 위한 세 가지 중요한 기법을 소개한다.
  • 5부. 고급 자료구조(18~21장) : 동적인 집합에 대한 연산을 지원하는 자료구조에 대해 3부보다 심화된 내용을 다룬다.
  • 6부. 그래프 알고리즘(22~26장) : 수많은 흥미로운 문제를 그래프를 이용해 표현하는 방법을 소개한다.
  • 7부. 알고리즘 분야의 중요한 토픽(27~35장) : 앞에서 다룬 내용을 확장하거나 보충하는 알고리즘과 관련 주제를 학습한다.
  • 부록. 수학적 기초(A~D) : 알고리즘 분석에 필요한 크기에 대한 다양한 기본 개념과 도구를 소개한다.

저자

목차

I 기초


개요
1장. 알고리즘의 역할
    1.1 알고리즘
    1.2 기술로서의 알고리즘


2장. 시작하기
    2.1 삽입 정렬
    2.2 알고리즘의 분석
    2.3 알고리즘의 설계


3장. 함수의 증가
    3.1 점근적 표기
    3.2 표준 표기법과 흔히 사용되는 함수


4장. 분할정복
    4.1 최대 부분배열 문제
    4.2 행렬 곱셈을 위한 스트라센 알고리즘
    4.3 점화식을 풀기 위한 치환법
    4.4 점화식을 풀기 위한 재귀 트리 방법
    4.5 점화식을 풀기 위한 마스터방법
    4.6 마스터 정리의 증명


5장. 확률적 분석과 랜덤화된 알고리즘
    5.1 고용 문제
    5.2 지표 확률 변수
    5.3 랜덤화된 알고리즘
    5.4 확률적 분석과 지표 확률 변수의 기타 활용


II 정렬과 순서 통계량


개요
6장. 힙 정렬
    6.1 힙
    6.2 힙 특성 유지하기
    6.3 힙 만들기
    6.4 힙 정렬 알고리즘
    6.5 우선순위 큐

 

7장. 퀵 정렬
    7.1 퀵 정렬
    7.2 퀵 정렬의 성능
    7.3 랜덤화된 퀵 정렬
    7.4 퀵 정렬 분석


8장. 선형 시간 정렬
    8.1 정렬의 하한
    8.2 계수 정렬
    8.3 기수 정렬
    8.4 버킷 정렬


9장. 중앙값과 순서 통계량
    9.1 최솟값과 최댓값
    9.2 선형적인 평균 수행시간에 선택하기
    9.3 최악의 경우선형 시간에 선택하기


III 자료구조


개요
10장. 기본 자료구조
    10.1 스택과 큐
    10.2 연결 리스트
    10.3 포인터와 객체 구현하기
    10.4 루트 있는 트리 표현하기


11장. 해시 테이블
    11.1 직접 주소 테이블
    11.2 해시 테이블
    11.3 해시 함수
    11.4 개방 주소화 방법
    11.5 완전 해싱


12장. 이진 검색 트리
    12.1 이진 검색 트리의 개념
    12.2 이진 검색 트리에 대한 질의
    12.3 삽입과 삭제
    12.4 임의로 만들어진 이진 검색 트리


13장. 레드블랙 트리
    13.1 레드블랙 트리의 특성
    13.2 회전
    13.3 삽입
    13.4 삭제

 

14장. 자료구조의 확장
    14.1 동적 순서 통계량
    14.2 자료구조 확장 기법
    14.3 구간 트리


IV 고급 설계 및 분석 기법


개요
15장. 동적 프로그래밍
    15.1 막대 자르기
    15.2 행렬-체인 곱셈
    15.3 동적 프로그래밍의 요소
    15.4 최장 공통 부분 시퀀스
    15.5 최적 이진검색 트리


16장. 그리디 알고리즘
    16.1 활동 선택 문제
    16.2 그리디 방법의 요소들
    16.3 허프만 코드
    16.4 매트로이드와 그리디 방법
    16.5 매트로이드로 작업 일정짜기 문제


17장. 분할상환 분석
    17.1 총계 분석
    17.2 결산 방법
    17.3 잠재 비용 방법
    17.4 동적 테이블


V 고급 자료 구조


개요
18장. B-트리
    18.1 B-트리의 개념
    18.2 B-트리의 기본연산
    18.3 B-트리에서 키삭제하기


19장. 피보나치 힙
    19.1 피보나치 힙의 구조
    19.2 병합 가능한 힙 연산
    19.3 키 감소시키기와 노드 삭제하기
    19.4 최대 차수의 한계 정하기


20장. 반 엠데 보아스 트리
    20.1 기본 방법
    20.2 재귀 구조
    20.3 반 엠데 보아스트리


21장 서로 소 집합의 자료구조
    21.1 서로 소 집합의 연산
    21.2 서로 소 집합의 연결 리스트 표현
    21.3 서로 소 집합 포리스트
    21.4 경로 압축을 이용한 순위에 의한 합병의 분석


VI 그래프 알고리즘


개요
22장. 기본 그래프 알고리즘
    22.1 그래프의 표현
    22.2 너비 우선 검색
    22.3 깊이 우선 검색
    22.4 위상 정렬
    22.5 강한 연결 요소


23장. 최소 신장 트리
    23.1 최소 신장 트리의 확장
    23.2 크루스칼 알고리즘과 프림 알고리즘


24장. 단일 출발지 최단 경로
    24.1 벨만-포드 알고리즘
    24.2 방향 비순환 그래프에서의 단일 출발점 최단 경로
    24.3 다익스트라 알고리즘
    24.4 차이 제약 조건과 최단 경로
    24.5 최단 경로특성의 증명


25장. 모든 쌍의 최단 경로
    25.1 최단 경로와 행렬 곱셈
    25.2 플로이드-워샬 알고리즘
    25.3 희소 그래프에 대한 존슨 알고리즘


26장. 최대 플로우
    26.1 플로우 네트워크
    26.2 포드-풀커슨 방법
    26.3 최대 이분 매칭
    26.4 푸시-재명명 알고리즘
    26.5 재명명후-앞보내기 알고리즘


VII 알고리즘 분야의 중요한 토픽


개요
27장 멀티스레드 알고리즘
    27.1 동적 멀티스레딩의 기본
    27.2 멀티스레드 행렬의 곱셈
    27.3 멀티스레드 병합 정렬


28장. 행렬의 연산
    28.1 선형 연립방정식의 해
    28.2 역행렬
    28.3 양으로 정의된 대칭 행렬과 최소-제곱 근사


29장. 선형 계획법
    29.1 정규형과 이완형
    29.2 문제의 선형 계획법 구성
    29.3 심플렉스 알고리즘
    29.4 쌍대성
    29.5 초기 가능한 기본해


30장. 다항식과 FFT
    30.1 다항식의 표현
    30.2 DFT와 FFT
    30.3 효율적인 FFT의 구현


31장. 정수론 알고리즘
    31.1 기초 정수론
    31.2 최대공약수
    31.3 모듈로 연산
    31.4 모듈로 선형 방정식의 해
    31.5 중국인의 나머지 정리
    31.6 원소의 거듭제곱
    31.7 RSA 공개키 암호 시스템
    31.8 소수 판정
    31.9 정수의 인수분해


32장. 스트링 매칭
    32.1 단순 스트링 매칭 알고리즘
    32.2 라빈-카프 알고리즘
    32.3 유한 오토마타를 이용한 스트링 매칭
    32.4 크누스-모리스-프랫 알고리즘


33장. 계산 기하학
    33.1 선분의 특징
    33.2 선분의 교차성 결정
    33.3 볼록 껍질의 발견
    33.4 가장 가까운 점들의 쌍 구하기


34장. NP-완비성
    34.1 다항 시간
    34.2 다항 시간 확인
    34.3 NP-완비성과 환원 가능성
    34.4 NP-완비성 증명
    34.5 NP-완비 문제들


35장. 근사 알고리즘
    35.1 정점 덮개 문제
    35.2 순회 판매원 문제
    35.3 집합 덮개 문제
    35.4 랜덤화와 선형 계획법
    35.5 부분 집합의 합 문제


VIII 부록 : 수학적 기초


개요
부록 A. 합
    A.1 덧셈 공식과 특성
    A.2 합의 한계


부록 B. 집합과 기타
    B.1 집합
    B.2 관계
    B.3 함수
    B.4 그래프
    B.5 트리


부록 C. 계산과 통계
    C.1 계산
    C.2 확률
    C.3 이산 확률 변수
    C.4 기하 분포와 이항 분포
    C.5 이항 분포의 꼬리


부록 D. 행렬
    D.1 행렬과 행렬 연산
    D.2 행렬의 기본 특성


참고문헌
찾아보기

리뷰

전체 평점

5

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

47,000

47,000