알고리즘 백과 사전이 있습니까? [닫은]


34

Handbook of Mathematics 와 비슷한 알고리즘 백과 사전이 있습니까? 한곳에서 많은 수의 파일을 사용할 수있는 것이 좋습니다. 나는 컴퓨터 프로그래밍의 예술이 좋은 소스로 여겨지지만 그것이 교훈적인 것처럼 보이지는 않습니다.

중재자 노트

우리는 설명과 맥락을 제공하는 긴 답변을 찾고 있습니다. 책을 열거하지 말고 책이나 자료를 추천하는 이유 를 설명하십시오 . 아무 것도 설명하지 않은 답변은 삭제됩니다. 자세한 내용은 좋은 주관적, 나쁜 주관적 을 참조하십시오.



약간의 인터넷 검색 으로이 질문에 대답하는 데 먼 길을 갈 것입니다. 최소한 좋은 후보 목록을 제공하여 더 집중된 질문을 할 수 있습니다.
Caleb

답변:


41

이것이 당신이 찾고있는 것인지 확실하지 않지만 NIST에는 알고리즘 및 데이터 구조 사전이 있습니다. 데이터 구조와 알고리즘 (doh)에 대한 포괄적 인 사전이며 일반적으로 전에 들어 본 적이없는 것을 찾을 때 볼 수있는 좋은 곳입니다.


당신의 대답은 내가 찾고있는 것과 거의 똑같습니다. 무료로 제공되는 추가 포인트.
세계 엔지니어

재미있는 것은, 지난 며칠 동안 NIST DADS가 미국 정부의 폐쇄로 인해 추후 공지가있을 때까지 닫히는 것입니다 ! 그리고 수천 명의 개발자가 한 번에 비명을 지르는 것을들을 때 ...
haylem

11

Skiena 책은 다음을 참조하십시오 : http://www.algorist.com/

이 책은 배경부터 다른 문제 영역 (데이터 구조, 검색 / 정렬, 그래프 문제, 조합 / 순열 / 휴리스틱) 및 P 대 NP- 완전 문제까지 모든 것을 다룹니다.

이 질문에 대한이 책의 특히 관련있는 섹션은 ~ 70-75 개의 서로 다른 알고리즘, 일반적으로 필요한 입력 유형, 특정 알고리즘으로 해결되는 문제에 대한 전반적인 설명 및 응용 프로그램의 특정 예 (예 : 접미사 트리의 섹션은 시도 사용법과 하위 문자열 및 검색에 대한 적용 가능성을 설명합니다. 가능한 경우 저자는 다양한 공통 언어 (c, c ++, Java 및 기타 언어)에 대한 기존 구현도 식별합니다.


그것은 내가 생각할 수있는 알고리즘 백과 사전에 가장 가깝습니다. 훌륭한 책!
Charalambos Paschalides

8

컴퓨터 프로그램의 구조와 해석컴퓨터 프로그래밍 기술 은 내가 찾은 것에 가장 가깝습니다.

SICP는 일반적인 데이터 구조와 알고리즘을 안내합니다. 백과 사전은 아니지만 제한된 공간에서 넓은 영토를 덮는 것이 좋습니다.

아직 컴퓨터 프로그래밍의 예술에 대해 말할 수있는 것. 당신이 그것을 선택할 때주의하십시오, 당신은 특정 주제에 대해 갈 수 있고 나중에 몇 시간 후에 당신이 책을 읽었다는 것을 깨달았습니다. 프로그래밍을 다음 단계로 끌어 올리는 좋은 방법입니다.


5
SICP는 훌륭한 책이지만 "알고리즘 백과 사전"을 찾고있는 사람에게는 이것이 합리적인 제안이라고 생각하지 않습니다. SICP는 그런 것을 시도하지 않습니다. 또한, OP는 ACP가 "교육적인 것만 큼 백과 사전처럼 보이지는 않는다"고 썼으므로 SICP가 자신이 찾고있는 것이 아니라는 것이 분명해야한다 .
Caleb

훌륭한 책이지만 백과 사전은 아닙니다.
haylem

필자는 그것이 백과 사전이 아니라 알고리즘을 잘 여행한다고 말했습니다. 백과 사전이 아니지만 제한된 공간에서 넓은 영토를 덮는 것이 좋습니다.” 그렇습니다.
Michael Brown

8

Cormen, Leiserson, Rivest, Stein- "알고리즘 소개"

CLRS라고 알려진 알고리즘 소개는 많은 대학의 표준 알고리즘 교과서입니다. 정렬, 검색, 그래프 이론 및 기본 수치 계산을 포함하여 다양한 응용 분야를위한 다양한 알고리즘을 다룹니다. Big O, Big Omega 및 Big Theta 표기법에 대한 자세한 설명도 포함되어 있습니다. 일반적인 비판은 실제로 새로운 알고리즘을 설계 할 준비를하지 않지만 백과 사전이나 알고리즘 사전 으로서는 그 이상으로 충분하다는 것입니다.

또한 CLRS는 언제 어떤 알고리즘을 사용해야하는지에 대한 조언을 제공하며 알고리즘과 데이터 구조의 일반적인 색인 만 제시하지는 않습니다. 수행하려는 작업이 있고 최선의 방법에 대한 조언을 원할 때 유용합니다. 당신이하고있는 일을 어떻게하고 싶고 의사 코드 만 필요로 할 때 더 좋은 자료가 있습니다.

— 아래 @quanticle의 코멘트에서


4
이 책의 내용이이 질문의 목표를 충족시키는 것을 포함하도록 답을 확장 할 수 있습니까?

2
CLRS라고 알려진 알고리즘 소개 는 많은 대학의 표준 알고리즘 교과서입니다. 정렬, 검색, 그래프 이론 및 기본 수치 계산을 포함하여 다양한 응용 분야를위한 다양한 알고리즘을 다룹니다. Big O, Big Omega 및 Big Theta 표기법에 대한 자세한 설명도 포함되어 있습니다. 일반적인 비판은 실제로 새로운 알고리즘 을 설계 할 준비를하지 않지만 백과 사전이나 알고리즘 사전 으로서는 그 이상으로 충분하다는 것입니다.
Quancle

1
또한 CLRS는 언제 어떤 알고리즘을 사용해야하는지에 대한 조언을 제공하며 알고리즘과 데이터 구조의 일반적인 색인 만 제시하지는 않습니다. 수행하려는 작업이 있고 최선의 방법에 대한 조언을 원할 때 유용합니다. 당신이하고있는 일을 어떻게하고 싶고 의사 코드 만 필요로 할 때 더 좋은 자료가 있습니다.
Quancle

Dmitry에 대한 힌트 : @quanticle의 의견을 답변 본문에 복사하여 답변을 1000 % 더 멋지게 만드십시오.
nohat

5

물리학 대학원에서 나는 C의 Numerical Recipes를 정말 즐겼습니다. 물론 모든 알고리즘을 다루지는 않지만 과학에 매우 유용한 많은 것들에 대한 훌륭한 설명을 제공합니다.

http://www.nr.com/

이 책은 다음을 해결하는 방법을 다룹니다.

선형 방정식

  1. 선형 방정식
  2. 보간 및 외삽
  3. 기능의 통합
  4. 기능 평가
  5. 감마 기능, 베타 기능, 계승을 포함한 특수 기능
  6. 난수-이것이 의미하는 바에 대한 좋은 설명 포함
  7. 정렬 알고리즘
  8. 근 및 비선형 방정식 찾기
  9. 기능 최소화 및 최대화
  10. 고유 시스템
  11. 빠른 푸리에 변환
  12. FFT 및 스펙트럼 분석
  13. 데이터의 통계적 설명
  14. 데이터 모델링
  15. 정규 미분 방정식의 적분
  16. 두 점 경계 문제
  17. 적분 방정식과 역 경계 이론
  18. 편미분 방정식
  19. CRC 검사 및 데이터 압축과 같은 "기타"알고리즘

그래서 그것은 모두 매우 수학적이며 과학자뿐만 아니라 게임을 위해 물리 엔진을 디자인하는 사람들에게도 좋습니다. 또한 알고리즘을 제공 할뿐만 아니라 알고리즘을 올바르게 사용할 수 있도록 이유를 설명합니다. 일반적인 코딩 텍스트가 아니라 필요할 때 필요한 것입니다.

나는 데이터 분석을 위해 다차원 (amoeba walk)으로 다운 힐 심플 렉스 방법을 사용할 때 그것에 크게 의존했다. 여전히 내 연필 자국이 있습니다. 좋은 시간이야!


1
이 책의 내용이이 질문의 목표를 충족시키는 것을 포함하도록 답을 확장 할 수 있습니까?

4

"알고리즘 백과 사전"을 찾고 있다면 Encyclopedia of Algorithms 로 잘못 이해하기가 어려울 것 입니다. 나는 그것을 읽었다 고 말할 수는 없지만 ($ 399, 백과 사전에는 저렴 합니다 ), 흐림은 유망합니다.

알고리즘 백과 사전 (Encyclopedia of Algorithms)은 최근 10 년간의 효과적인 솔루션을 포함하여 학생과 연구원에게 중요한 알고리즘 문제에 대한 포괄적 인 솔루션 세트를 제공합니다.

누군가 이미 Steven Skiena의 The Algorithm Design Manual을 인용 했지만 Skiena의 관련 웹 사이트 인 Stony Brook Algorithm Repository를 아직 언급 한 사람은 없다고 생각 합니다. 웹 사이트에서 :

이 WWW 페이지는 조합 알고리즘에서 70 가지가 넘는 가장 근본적인 문제에 대한 포괄적 인 알고리즘 구현 모음으로 제공됩니다.

이 책은 알려진 알고리즘의 카탈로그 이상입니다. 또한 문제와 상황에 가장 적합한 알고리즘을 결정하는 방법에 대한 일종의 자습서입니다. 반면에 저장소는 본질적으로 백과 사전입니다. 각 알고리즘을 직접 구현하는 방법에 대해 자세히 설명 할 필요는 없지만 알고리즘이 수행하는 작업과 알고리즘이 일반적으로 작동하는 방식을 설명하고 책에서 자주 읽을 수있는 용어를 설명합니다. 연산.


2

로제타 코드 위키는 여러 언어로 일반적인 알고리즘의 구현의 훌륭한 컬렉션입니다. 완전히 학문적이지는 않지만 정보를 제공하고 재미있게 넘길 수 있습니다.

그들 자신의 말로 :

Rosetta Code는 프로그래밍 chrestomathy 사이트입니다. 아이디어는 가능한 한 여러 언어로 동일한 작업에 대한 솔루션을 제시하고, 언어가 유사하고 다른 방식을 보여주고, 한 가지 접근 방식으로 다른 사람을 배우는 데 도움이되는 사람을 돕습니다.

다른 리소스 (NIST 알고리즘 사전 및 데이터 구조 등 ) 의 주요 이점 은 다른 언어에 대한 여러 구현을 볼 수 있다는 것입니다. 다양한 목적에 도움이 될 수 있습니다 (표현력 비교, 언어 또는 다른 언어로 타당성 확인 등).

예를 들어, QuickSort 페이지 는 2013 년 10 월 7 일 현재 최소 89 개의 구현을 제공합니다.


무엇을하는지 더 자세히 설명해 주시겠습니까? 그리고 질문에 대한 답변으로 추천하는 이유는 무엇입니까? "링크 전용 답변" 은 Stack Exchange에서 그리 환영받지 않습니다
gnat

@ gnat : 일반적으로 동의하지만 "book-ref only"라는 답변과 다른 점은 무엇입니까? 또한 "여러 언어로 된 일반적인 알고리즘의 구현 모음"이 그 기능을 거의 다룬다 고 생각합니다. 충분히 가까이 보면 받아 들여진 대답만큼이나 상세하다.)
haylem

@ gnat : 어쨌든 더 추가했습니다.
haylem

@AnnaLear : 죄송합니다, 귀하의 편집이 내 게시물을 간결하고 정확하게 작성하는 데 완벽하다고 생각합니다.
haylem

0

주제에 관한 훌륭하고 영원한 교훈 책이 있지만 나는 거의 백과 사전을 찾을 것이라고 생각하지 않습니다.

  • 수학 백과 사전은 수천 년의 연구를 다룹니다. 반면에 알고리즘은 한 세기 동안 거의 연구되지 않았다 (더 큰 규모로 말하면). 컴퓨터 과학의 전체 분야는 누구에게도 거의 이해되지 않으며 대부분의 것들이 여전히 빠르게 움직이고 있습니다. 지금이 백과 사전이 있었다면 10-20 년 안에 창문을 90 % 정도 버릴 수있을 것 같습니다. 절반 이상을 유지할 가치가있는 10 % 중 절반은 이미 반세기 전에 인쇄되었습니다. 수학 핸드북의 광대 한 부분은 지금부터 백 년 안에 최신 상태가 될 것입니다.

  • 수학은 순수하고 독립적입니다. 이것은 "알고리즘 분야"에는 거의 적용되지 않습니다. 필드는 일반적으로 잘 정의 된 문제 공간에서 작동하는 반면 알고리즘은 실제로 덜 정의 된 솔루션 공간 내에서만 작동하기 때문에 실제로 필드로 생각할 수 없습니다.
    따라서 알고리즘에 백과 사전을 컴파일해야한다면, 포괄적 인 것을 원한다면 포함 할 내용이 명확하지 않습니다. 그래프 이론? 선형 대수? 수치 해석?

백과 사전의 역할을 수행하는 최고의 리소스 인 IMHO는 "인터넷"입니다. 백과 사전의 요점은 색인화되고 포괄적이며 검색 가능한 지식 저장소 (일부 주제)를 보유하는 것입니다. 개인적으로, 나는 모두 찾아 이 목록이 목록 확실히 압도합니다. 또한 다른 답변에서 수많은 우수한 알고리즘 데이터베이스가 연결되었습니다.

따라서 책장을 채우는 백과 사전에서 기대하는 것과 동일한 수준의 품질을 기대할 수 없지만 알고 싶은 분야의 청소년을 보상하는 데 필요한 수준의 적시성을 얻습니다.


0

현존하는 자료로는 Wikipedia가 가장 가까운 것으로 생각합니다. 다시 말해, Wikipedia에서보다 정의 된 "알고리즘 템플릿"을 작성하는 것이 유용 할 수 있지만 여기서는 Wikipedia 편집자와 논의해야합니다.

The Computer of Computer Programming 에 대한 간단한 참고 사항 : 완료되면 "요약"볼륨을 포함해야하며 지금은 도움이되지 않지만 대략 원하는 내용 일 수 있습니다. TAOCP 는 그것이 다루는 내용에 대한 백과 사전이지만 아직 완성되지 않았으며 Knuth의 성격은 철저하게 연구하지 않으면 물건을 포함시키지 않을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.