도전 과제에 대비하기 [닫기]


15

며칠 전 나는 Codility를 발견 하고 그들의 도전을 시도했다. 그리고 나는 말해야한다. 나는 플래터에 나의 뒤를 나에게 건네었다. 문제가 무엇인지 잘 모르겠지만 상처를 핥고 해결책이 나올 때까지 기다렸다가 내 것과 비교할 것입니다. 그동안 다음 도전에 대비하고 이전 블로그 게시물을 읽고 이전 문제를 해결하는 방법을 확인하고 싶습니다. 내가 들어 보지 못한 많은 새로운 것들이 있습니다 (Cartesian tree, 다양한 정렬 알고리즘 등)

따라서 이러한 과제 (특히 O (x) 시간 및 공간 복잡성)를 어떻게 준비 할 수 있습니까? 그러한 일을 준비하기 위해 무엇을 읽어야합니까?


나는 부분적으로 (이 곡해에 내 머리를 강제로 최근 하스켈을 공부 한 것입니다 특별히 솔루션을 생각에 더 민첩하게 도움이 강제로). 즉, 나는 알고리즘 디자인 매뉴얼 (무료 온라인 pdf가 있음)과 같은 목적으로 Knuth (뇌 통증의 심각한 원인이기도 함)의 Art of Computer Programming Vol 1 Fundamental Algorithms의 차고 판매 사본을 읽습니다. .
Jimmy Hoffa

답변:


3

어떻게 그러한 도전들 (특히 O (x) 시간과 공간의 복잡성)에 대비 하는가? 그러한 일을 준비하기 위해 무엇을 읽어야합니까?

으로 준비하기 물론! 연습 문제이며 부족하다고 느낀 부분에 대한 속도를 높이는 것입니다. 감사합니다. 정보 단점이 인터넷에 있고 Google이 친구 인 경우 다룰 좋은 자료입니다.

참고 문헌에 관해서는 프로그래머가 도전하는 질문이있는 여러 웹 사이트에 조언 할 것입니다. 해당 질문 유형에서 단점을 파악하고 연구 할 수 있습니다.

살펴볼 자료 :


7

그런 종류의 시험을 준비하기 위해 할 수있는 유일한 것은 연습입니다. 많이 연습하십시오 . topcoder, codegolf, 괴짜 괴짜, Programming Praxies, CodeKata, Project Euler 등과 같은 코더 도움을위한 좋은 저장소가 많이 있습니다.

데이터 구조에 문제가있는 경우 알고리즘 및 데이터 구조 개념을 정리하는 것이 좋습니다. 그것을위한 최고의 장소는 위키 백과이지만, nptel, coursera 등에서 algo 데이터 코스를 찾을 수도 있습니다.


책과 같은 자료를 더 찾고 있었지만 일부 링크는 새롭고 유익했습니다.
Daniel Fath

1
@DanielFath : 그것에 대해 읽는 것이 도움이되지만 문제 해결은 당신이 그것을 잘하고 싶다면 연습해야하는 예술입니다. 소프트웨어를 작성하는 세계에는 놀랍게도 많은 문제가 반복적으로 나타납니다. 이전에 해결 한 경험을 통해 새로운 변형을 발견하고 신속하게 좋은 솔루션을 적용 할 수 있습니다.
Blrfl

나는 연습 문제에 많은 부분을 동의한다. 나는 해결 된 문제를 고려하기 위해 더 구체적인 자원에 대한 욕망을 표현 하고있다. 나는 대답을 찬성했다.
Daniel Fath

4

Google 모집에 관한 준공식 블로그 게시물은이 책의 권장 사항 인 알고리즘 디자인 매뉴얼을 참조하십시오 .

일반적인 알고리즘과 데이터 구조에 익숙해지면 상황에 많은 도움이 될 수있는 '빠른 참조'부분을 포함하여 매우 포괄적이고 잘 작성되었습니다.

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