Cormen 이외의 알고리즘에 대한 예약


21

Cormen의 Intro to Algorithms 책에서 대부분의 자료를 완성했으며 Corman의 저서 이외의 자료를 다루는 알고리즘 책을 찾고 있습니다. 추천 사항이 있습니까?

참고 : 나는 이것을 stackoverflow에 요청했지만 대답에 너무 만족하지는 않았습니다.

참고 : 대부분의 의견을 보면서 이상적으로는 이 과정 설명 에서 787 과정의 내용을 다루는 책을 찾고 싶습니다 .


1
볼 이
— 카베

1
@Kaveh 나는 Tardos를 이미 읽었다.
— 유진

1
"알고리즘 소개"는 알고리즘 설계 및 분석의 범위에서 거의 모든 것을 다루며 학부 및 대학원 수준의 과정에서 세계에서 가장 인기있는 교재입니다. 각 장은 관련 자료에 대한 간결한 소개를 제공하며 마지막에 추가 연구를위한 참고 문헌 목록이 매우 많습니다. 그래프 알고리즘, 복잡성 이론 등과 같은 특정 주제에 대한 심층적 인 이해가 필요하다고 생각되는 경우 가장 좋은 방법은 책의 참고 문헌을 살펴 보는 것이 도움이되지 않으면 도메인 전문가에게 조언을 구할 수도 있습니다. 특정 지역.
— 알리

12
"알고리즘 소개"는 알고리즘 설계 및 분석의 범위에있는 거의 모든 것을 다룹니다 .
— JeffE

5
내가 정말 좋아하는 한 권의 책은 Udi Manber의 알고리즘 소개 : 창의적인 접근 방식 입니다. 다른 대부분의 교과서와는 달리, 그는 방법을 배울 올 자신에 알고리즘. 교과서에서 다루는 각 알고리즘에 대해, 그는 가장 진보 된 접근법을 설명하는 첫 번째 방법과 이전 알고리즘의 실수를 바로 잡는 각 시도에 대해 점점 더 많은 섹션의 진행을 제공합니다. 내 의견으로는 훌륭한 텍스트입니다.
— Vinayak Pathak

답변:


9
I am looking for an algorithms book that covers material beyond Corman's book.

이것은 당신이 원하는 것을 넘어서서 다양한 방법으로 대답 할 수 있습니다. 도움이되는 구체적인 답변을 얻을 가능성이 높으므로보다 구체적인 지침을 요청하는 것이 좋습니다. 그래도 일반적인 지침은 다음과 같습니다.

  • 당신은 코만보다 더 깊이 일반적인 알고리즘 주제를 탐구 일반 도서의 소수를 찾을 수 있지만, 대부분의 경우, 당신은 책이 될 것입니다 경우 전문 시작해야 훨씬 깊이에 더. 그렇지 않으면 부풀어 오르고 유용성이 떨어질 수 있습니다.
  • 대신 특정 주제를 찾으십시오. 특정 주제에 초점을 맞추면 많은 고급 자료가 있습니다. 다음에 관심이 있습니까?
    • 정렬 알고리즘?
    • 문자열 알고리즘?
    • 수 이론 알고리즘?
    • 매트릭스 알고리즘?
    • 그래프 알고리즘?
    • 기하학적 알고리즘?
    • 양자 알고리즘?
    • 확률 론적 / 무작위 화 알고리즘?
    • 선형 프로그래밍?
    • 계산 모델?
    • 기초 복잡성 이론과 알고리즘?
  • 자체 알고리즘을 도출하는 방법을 이해하려면 조사중인 문제 공간에 사용 된 알려진 데이터 구조를 이해하는 데 중점을 두어야합니다 (따라서 기존 지식의 깊이를 얻음). 계산. 이것들은 주어진 문제에 대해 가능한 직관적 인 느낌을 줄 것이며, 하한을 공식적으로 증명하기가 어려운 경우에도 어떤 접근법이 더 나은 성공을 거둘 수있을 것입니다.

Papadimitriou의 몇 가지 또는 복잡성 이론에 관한 Arora / Barak와 같은 책은 가능한 알고리즘을 더 잘 이해하고 직관을 구축하기 위해 Corman에 대한 후속 조치를 제안합니다. 그러나 특정 분야에 대한 현대 개요 논문을보고 졸업하고 현대적인 수준의 이해에 익숙해지기를 원하는 경우 더 구체적인 주제에 대한 연구 수준의 책


1
당신은 아주 좋은 질문을합니다. 나는 수 이론 알고리즘에 관심이 있으므로 Bach와 Shallit의 알고리즘 수 이론을 이미 보았습니다. 그래도 Cormen 이외의 알고리즘 개발 기술을 구축 할 책을 찾고 있습니다.
— 유진

1
나는 깊이를 찾지 않고 폭을 찾고 있습니다. 근본적인 복잡성 이론이 아니라 내가 들었던 알고리즘 / 데이터 구조에 대한 소개이지만 내가 들어 본 것의 프로그래밍 무기고에 추가하기 위해 CLRS에 있지는 않습니다 (또는 문제로만 나타남). A * 검색, Best First Search, Bloom 필터, 파일 / 이미지 압축, Burstsort, Hidden Markov Model, Naive Bayes 분류기, 양자 알고리즘, 건너 뛰기 목록, TimSort, Treaps, Tries, Voronoi 다이어그램 알고리즘 등 벤틀리의 프로그래밍 진주와 같은 다양한 주제에 대한 흥미로운 기사 모음입니다.
— dr jimbob 16:10에

16

다른 사람들이 지적했듯이 (고급) 알고리즘에 관한 책은 주제별로 가장 잘 선택됩니다. 엄격한 분석을 통한 우수하지만 무거운 일반적인 참조는 아마도 Knuth 의 컴퓨터 프로그래밍 기술입니다 .

분석 기법에 관해서는 Sedgewick과 Flajolet 의 알고리즘 분석 에 대한 소개 와 같은 방향으로 더 많은 이론을 위해 Flajolet과 Sedgewick의 알고리즘 조합 에 관심이있을 수 있습니다 .

어려운 문제를 해결하는 방법에 대해서는 Hromkovič의 어려운 문제에 대한 알고리즘을 참조하십시오 .


5

이론적 컴퓨터 과학 핸드북을 보셨습니까?

명령형 알고리즘을 넘어 기능 프로그래밍으로 이동하려면 순전히 기능적인 데이터 구조를 살펴보십시오 . 제목에 데이터 구조가 있지만 책의 알고리즘이 다른 프로그래밍 방식에 눈을 뜨게 할 수도 있습니다.

편집하다

CS 787 의 코스 설명 과 현재 수업을 살펴 보았습니다.

그것은 노트

우리는 주로 문학 논문을 사용합니다. 이들은 유인물 또는 웹을 통해 제공 될 것입니다. 알고리즘에 관한 몇 권의 책이 Wendt 라이브러리에 예약 될 것입니다.

그것이 내가 강사 디렉토리에 연락 할 것 입니다. :)


핸드북을 보지 못했습니다. 제안 해 주셔서 감사합니다!
— 유진

와우. 코스 정보를 찾을 수 없었습니다. 링크 주셔서 감사합니다.
— 유진

-2

컴퓨터 알고리즘은 매우 복잡하고 이해하기 어려운 주제이므로 최고의 책은 없습니다. 즉, 모든 책을 설명 할 수있는 책이 하나뿐입니다. 이 주제를 파악하려면 몇 가지를 읽어야합니다.

10 년간의 프로그래밍과 수많은 인터뷰에 기반한 2 센트는 다음과 같습니다.

  1. Steven S. Skiena의 알고리즘 설계 매뉴얼
  2. Sedgwick의 알고리즘 ( http://algs4.cs.princeton.edu/home/ )
  3. Thomas Cormen의 알고리즘 소개
  4. Adnan Aziz의 인터뷰 알고리즘
  5. 파이썬 알고리즘 : 파이썬 언어에서 기본 알고리즘 마스터하기
  6. Thomas Cormen의 잠금 해제 알고리즘

참고:


4
그리고 왜 이것을 추천합니까?
— 라파엘

3
특히, 그 책을 넘어서는 책을 요구하는 질문에 대한 답변으로 Cormen et al.의 "Introduction to Algorithms"를 추천하는 이유는 무엇입니까?
— David Richerby
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.