빌 게이츠의 인용문을 우연히 발견했습니다. "모든 내용을 읽을 수 있다면 반드시 이력서를 보내야합니다." 그는 The Art of Programming 서적에 대해 이야기하고있었습니다. 그래서 저는 매우 궁금해서 책을 읽고 싶지만 솔직히 이해하지 못합니다 I'm really not that highly
intellectual being. 그래서 .. 이것이 이해할 수없는 이유입니다. , 그러나 배우고 싶어합니다 .. 나는 현재 기초적인 알고에 관한 1 권을 읽고 있습니다. 저와 같은 초보자 / 느린 사람들에게 친숙한 책이 있습니까? Knuth의 책을 편하게 읽을 수 있기를 바랍니다.
자신을 not a highly intellectual being다음 과 같이 정의 하면 기대치가 낮아집니다. 문제가 될만한 일을하고 싶다면 그 정신을 빼야합니다. 무언가를 성취 할 수 있다는 것은 의심 할 여지가 없습니다. 또한 그것을 달성한다고해서 쉽게 달성한다는 의미는 아닙니다.
추구 할 가치가있는 것은 어렵고 진부한 것이 아닙니다. 소프트웨어, 엔지니어링, 일반적으로 인생에서 무언가를 달성하려면 어려운 일, 사람들이 피하는 일, 가장 낮은 공통 분모에 대해서는 정착하지 않아야합니다.
먼저, CS 배경이 무엇인지 명확하지 않습니다. 크 누스의 책은 어느 정도 성숙해야합니다. CS 학위를 가진 사람들은 쉽게 통과 할 수 없습니다. 방금 알고리즘에서 첫 번째 과정을 마친 CS 학생이 실제로 Knuth의 책 중 하나를 통과 할 것으로 기대하지는 않습니다. 그것을 얻는 데 필요한 성숙은 거기에 없으며 학생의 정신 능력과는 아무런 관련이 없습니다.
기본 알고리즘은 차갑고 명확해야하며, 벨트 아래에 상당한 양의 프로그래밍 (작업 및 / 또는 학력)이 있어야합니다. 또한 CS 수학을 확고한 기반에 두어야합니다.
이산 수학 (및 계산 이론)을 잘 이해하지 않고는 앞으로 나아갈 수 없습니다.
Knuth의 문제를 해결하기 위해 지식이 필요하지는 않지만 그러한 유형의 자료를 살펴볼 수있는 성숙도가 필요합니다.
먼저 한 권의 책과 한 권의 책만 선택하십시오 (이전에 제안 된 CLRS의 책). 처음부터 끝까지 작업하십시오. 가능하면 알고리즘을 구현하는 프로그램을 수행하십시오. C ++이 아닌 Java 또는 C #을 사용하지 마십시오. 베어 본 C로 가서 베어 본 금속 스크랩으로 물건을 짓는 느낌을 얻으십시오.
이산 수학과 계산 이론을 배우지 않은 경우 "콘크리트 수학"에 대한 Knuth의 책을 얻으십시오. 그 책을 살펴 보는 것도 좋을 것입니다.
그런 다음 Knuth의 백과 사전, 하나의 주제, 한 번에 하나의 장을 다루십시오. 첫 번째 장을 잘 이해하지 않고 다른 장으로 가지 마십시오.
먼저 볼륨 I (기본 알고리즘), 볼륨 III (검색 및 정렬)을 수행하는 것이 좋습니다. 그것들은 당신의 즉각적인 목표가되어야합니다. 그런 다음 나중에 (더 나중에) 볼륨 IV (Combinatorial Algorithms), 볼륨 II (Semi-Numerical Algorithms)를 다룹니다.
처음에 이해가되지 않으면 기분 나빠하지 마십시오. 나는 몇 년 동안 (지금 10 년 동안) 볼륨 I과 III을 통과하려고 노력해 왔습니다.
그리고 당신은 그것에 너무 많은 무게를 두어서는 안됩니다. 누군가 나 자신에게 무언가를 증명하기 위해하지 마십시오. 당신이 있기 때문에 그것을 지적 그렇게 관심. CLRS의 서적 (또는 훌륭한 고급 서적 중 하나)을 사용하여 알고리즘에 능숙해질 수 있습니다.
실용적으로 휴식을 취하십시오. Knuth의 책을 훑어 보는 것은 CS 자료라는 즉각적인 증거가 아니라 장기적인 개인적인 야심으로 취급하십시오.)
;) 자신을 죽일 다른 중요한 것들이 있습니다 ()