อ่าน.
ไม่อ่านจริงๆ
อ่านทุกอย่างเกี่ยวกับอัลกอริทึมและการออกแบบที่คุณสามารถหาได้ มีหนังสือปรากฎการณ์อยู่ที่นั่น หนังสืออัลกอริทึม Sedgewick ดีมาก คู่มือการออกแบบอัลกอริทึมโดย Skiena ก็ดีเช่นกัน รวมหนังสือเหล่านี้ติดตามฉันในทุกชั้นวางหนังสือในทุกงานที่ฉันไปพร้อมกับ The Mythical Man-Month
จากนั้นถาม
พูดคุยกับคนที่คุณเคารพ ถามพวกเขาว่าพวกเขามีจุดตัดสินใจอะไรและทำไมพวกเขาถึงตัดสินใจตามนั้น คนดีจะสามารถบอกคุณได้เสมอว่า "ฉันเลือกที่จะทำ X เพราะมันดีกว่า A, B ด้วยวิธีเหล่านี้ฉันสามารถไปกับ C ได้ แต่ฉันรู้สึกว่านี่เป็นตัวเลือกที่ดีกว่าเพราะสิ่งนี้"
ถัดไปทำ
สร้างสิ่งต่าง ๆ สร้างสิ่งที่คุณไม่เคยใช้ สร้างสิ่งที่คุณไม่ต้องการ ไปเขียนโปรแกรมที่ช่วยไขปริศนา Sudoku ตอนนี้ไปทำมันอีกครั้ง และอีกครั้ง. สร้าง 5 วิธีที่แตกต่างอย่างสิ้นเชิง สร้างโปรแกรมที่สร้างตัวต่อซูโดกุและป้อนเข้าไปในตัวแก้ปัญหา ค้นหาตัวแก้ปัญหาที่เร็วที่สุด แล้ว ...
ค้นหาสาเหตุ
"อะไร" แทบจะไม่สำคัญเลย ฉันหมายความว่าใช่มันเป็นเรื่องสำคัญอย่างยิ่งที่จะต้องทำให้โครงการเสร็จ แต่ในที่สุดถ้าคุณรู้ว่า "อะไร" โดยที่ไม่รู้ว่า "ทำไม" คุณก็อาจไม่เคยทำมันในตอนแรก คุณมีกระสุนในประวัติการทำงานของคุณ ไปรับคุกกี้และแสดงความยินดีกับตัวเอง "ทำไม" มีความสำคัญมากกว่า "อะไร"
และสำหรับบันทึกของ Sudoku ก็เป็นตัวอย่าง ฉันใช้เวลาว่างมากในการออกกำลังกายนั้นด้วยปริศนาตรรกะจำนวนมากใน Kongregate และเรียนรู้มากมายระหว่างทาง
http://www.amazon.com/Bundle-Algorithms-Parts-1-5-Fundamentals/dp/020172684X/
http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693/
http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/