ฉันสะดุดคำพูดนี้จาก Bill Gates: "คุณควรส่งประวัติย่อให้ฉันถ้าคุณสามารถอ่านทั้งหมดได้" เขากำลังพูดถึงหนังสือศิลปะการเขียนโปรแกรม .. ดังนั้นฉันค่อนข้างอยากรู้อยากเห็นและต้องการอ่านทุกอย่าง แต่โดยสุจริตฉันไม่เข้าใจเลย .. I'm really not that highly
intellectual being
.. ดังนั้นนี่ควรเป็นเหตุผลที่ฉันไม่เข้าใจ แต่ฉันกระตือรือร้นที่จะเรียนรู้ .. ฉันกำลังอ่านเล่ม 1 เกี่ยวกับอัลโกพื้นฐาน .. ดังนั้นมีหนังสือเล่มไหนบ้างที่เป็นมิตรกับผู้เริ่มหัด / คนที่ชอบฉันช้า? ดังนั้นฉันสามารถสร้างตัวเองและหวังว่าในอนาคตฉันสามารถอ่านหนังสือของ Knuth ได้อย่างสบายใจ ..
หากคุณกำหนดตัวเองเป็นnot a highly intellectual being
แล้วคุณจะตั้งค่าตัวเองเพื่อความคาดหวังต่ำ คุณต้องทำลายความคิดนั้นถ้าคุณต้องการทำสิ่งที่คุ้มค่ากับปัญหา ในใจคุณไม่ต้องสงสัยเลยว่าคุณจะทำอะไรบางอย่างให้สำเร็จ นอกจากนี้การบรรลุเป้าหมายไม่ได้หมายความว่าคุณจะประสบความสำเร็จได้อย่างง่ายดาย
สิ่งที่ควรค่าแก่การติดตามคือสิ่งที่ยาก ... และนั่นไม่ใช่ถ้อยคำที่เบื่อหู ในซอฟต์แวร์วิศวกรรมในชีวิตโดยทั่วไปถ้าคุณต้องการบรรลุบางสิ่งคุณต้องไปหาสิ่งที่ยากสิ่งที่ผู้คนหลีกเลี่ยงและไม่ตั้งหลักสามัญที่ต่ำที่สุดของสิ่งต่าง ๆ
ครั้งแรกมันไม่ชัดเจนว่าพื้นหลัง CS ของคุณคืออะไร หนังสือของ Knuth ต้องมีวุฒิภาวะ ไม่กี่คนที่มีระดับ CS สามารถผ่านได้อย่างง่ายดาย ฉันจะไม่คาดหวังว่านักเรียน CS ที่เพิ่งจบหลักสูตรแรกของเขาในอัลกอริทึมเพื่อให้สามารถผ่านหนังสือเล่มหนึ่งของ Knuth ได้ วุฒิภาวะที่จำเป็นต้องใช้เพื่อให้ได้มานั้นไม่ได้อยู่ที่นั่นและไม่เกี่ยวข้องกับความสามารถทางจิตของนักเรียน
คุณต้องมีพื้นฐานของอัลกอริธึมที่หนาวเย็นและชัดเจนและคุณต้องมีการเขียนโปรแกรมจำนวนมาก (งานและ / หรือนักวิชาการ) ภายใต้เข็มขัดของคุณ - ฉันว่า 40 เครดิตสำหรับการเขียนโปรแกรมอย่างน้อย นอกจากนี้คุณยังต้องมีคณิตศาสตร์ CS ของคุณในสถานที่ที่มั่นคง
คุณไม่สามารถก้าวไปข้างหน้าได้โดยไม่ต้องเข้าใจคณิตศาสตร์แยก (และทฤษฎีการคำนวณ)
ไม่ใช่ว่าคุณจะต้องมีความรู้ในการทำงานกับปัญหาของ Knuth แต่คุณต้องมีวุฒิภาวะเพื่อให้สามารถผ่านเนื้อหาประเภทนั้นได้
ก่อนอื่นเลือกหนังสือหนึ่งเล่มและหนังสือหนึ่งเล่มเท่านั้น (หนังสือของ CLRS ตามที่แนะนำไว้ก่อนหน้า) และทำงานตั้งแต่ต้นจนจบ เมื่อใดก็ตามที่เป็นไปได้โปรแกรมที่ใช้อัลกอริทึม อย่าใช้ Java หรือ C # ไม่ใช่แม้แต่ C ++ ไปที่กระดูกเปลือย C และรับความรู้สึกในการสร้างสิ่งต่าง ๆ จากเศษโลหะกระดูกเปลือย
รับหนังสือของ Knuth เรื่อง "Concrete Mathematics" ด้วยหากคุณยังไม่ได้เรียนวิชาคณิตศาสตร์และการคำนวณเชิงทฤษฎี จะดีสำหรับคุณที่จะผ่านหนังสือเล่มนั้นเช่นกัน
จากนั้นจัดการสารานุกรมของ Knuth หนึ่งเล่มต่อครั้งในหนึ่งบท อย่าไปอีกบทหนึ่งโดยไม่เข้าใจบทแรก
ฉันขอแนะนำให้คุณอ่านโวลุ่มที่ฉัน (อัลกอริธึมพื้นฐาน) ก่อนจากนั้นจึงปรับระดับเสียง III (การค้นหาและการเรียงลำดับ) สิ่งเหล่านั้นควรเป็นเป้าหมายทันทีของคุณ จากนั้นต่อมา (มากในภายหลัง) จัดการโวลุ่ม IV (อัลกอริทึม Combinatorial) และโวลุ่ม II (อัลกอริทึมกึ่งตัวเลข)
อย่ารู้สึกแย่ถ้าคุณไม่เข้าใจในตอนแรก ฉันพยายามผ่านระดับเสียง I และ III มาเป็นเวลาหลายปี (10 ปีแล้ว)
และคุณไม่ควรใส่น้ำหนักมากเกินไป อย่าทำเพื่อพิสูจน์บางสิ่งบางอย่างกับใครบางคนหรือตัวคุณเอง ทำมันเพราะคุณมีสติปัญญามีความสนใจในการทำเช่นนั้น คุณสามารถมีความเชี่ยวชาญในอัลกอริทึมได้โดยใช้หนังสือของ CLRS (หรือหนังสือระดับดีเกรดใดก็ได้)
จงปฏิบัติและให้เวลากับตัวเอง ลองอ่านหนังสือของ Knuth ว่าเป็นความทะเยอทะยานส่วนตัวในระยะยาวไม่ใช่ข้อพิสูจน์ทันทีว่าคุณเป็นเนื้อหาของ CS;)
มีสิ่งสำคัญอื่น ๆ อีกมากมาย (อาชีพที่ฉลาด) เพื่อฆ่าตัวตายเพื่อ;)