การเตรียมตัวสำหรับความท้าทายที่ปิดกั้น [ปิด]


15

เพียงไม่กี่วันที่ผ่านมาผมค้นพบCodilityและผมพยายามที่ท้าทายของพวกเขา และฉันต้องบอกว่า ฉันได้รับแผ่นหลัง ฉันไม่แน่ใจว่าปัญหาคืออะไร แต่ฉันจะเลียแผลของฉันและรอวิธีแก้ปัญหาที่จะออกมาและเปรียบเทียบกับของฉันเอง ในระหว่างนี้ฉันต้องการเตรียมพร้อมสำหรับความท้าทายต่อไปดังนั้นฉันจึงอ่านโพสต์บล็อกก่อนหน้านี้และดูวิธีแก้ปัญหาก่อนหน้า มีสิ่งใหม่มากมายที่ฉันไม่เคยได้ยินเหมือน (ต้นไม้คาร์ทีเซียนอัลกอริทึมการเรียงลำดับต่างๆ ฯลฯ )

ดังนั้นหนึ่งจะเตรียมสำหรับความท้าทายดังกล่าว (โดยเฉพาะอย่างยิ่ง O (x) เวลาและความซับซ้อนของพื้นที่) ฉันควรอ่านอะไรเพื่อเตรียมพร้อมสำหรับงานดังกล่าว


ฉันได้ศึกษามาเร็ว ๆ นี้ส่วนหนึ่งเพื่อบังคับสมองของฉันให้บิด (มันจะบังคับ) โดยเฉพาะเพื่อช่วยให้คล่องแคล่วในการคิดหาวิธีแก้ปัญหา ที่กล่าวว่าฉันยังอ่านคู่มือการออกแบบอัลกอริทึม (pdf ออนไลน์ฟรีอยู่) และสำเนาขายโรงรถของศิลปะการเขียนโปรแกรมคอมพิวเตอร์ฉบับที่ 1 ขั้นตอนวิธีพื้นฐานโดย Knuth (ซึ่งเป็นแหล่งที่มาของอาการปวดสมองอย่างรุนแรง) เพื่อจุดประสงค์เดียวกัน .
จิมมี่ฮอฟฟา

คำตอบ:


3

คนเราเตรียมตัวอย่างไรสำหรับการท้าทาย (โดยเฉพาะเวลา O (x) และความซับซ้อนของพื้นที่) ฉันควรอ่านอะไรเพื่อเตรียมพร้อมสำหรับงานดังกล่าว

โดยการเตรียมตัวแน่นอน! มันเป็นเรื่องของการฝึกฝนและการเร่งความเร็วในเรื่องที่คุณรู้สึกว่าสั้น ขอบคุณพระเจ้าแหล่งข้อมูลที่ดีพอที่จะครอบคลุมเมื่อมีข้อบกพร่องของข้อมูลบนอินเทอร์เน็ตและ Google เป็นเพื่อนของคุณ

เกี่ยวกับการอ้างอิงฉันจะแนะนำหลายเว็บที่มีคำถามท้าทายโปรแกรมเมอร์ จากคำถามประเภทนั้นคุณสามารถกำหนดข้อบกพร่องของคุณและศึกษาพวกเขา

ทรัพยากรที่จะมอง:


7

สิ่งเดียวที่คุณสามารถทำได้เพื่อเตรียมตัวสำหรับการทดสอบประเภทนี้คือการฝึกฝน ปฏิบัติมาก มีแหล่งข้อมูลที่ดีมากมายสำหรับความช่วยเหลือของผู้เขียนโค้ดเช่น topcoder, codegolf, geeks สำหรับ geeks, Programming Praxies, CodeKata, Project Euler เป็นต้น

หากคุณกำลังมีปัญหากับโครงสร้างข้อมูลมันจะเป็นการดีกว่าถ้าคุณแปรงอัลกอริทึมและแนวคิดโครงสร้างข้อมูลของคุณ ที่ที่ดีที่สุดสำหรับสถานที่นั้นคือวิกิพีเดีย แต่คุณยังสามารถค้นหาหลักสูตรข้อมูลอัลโกใน nptel, coursera, ฯลฯ ...


ฉันกำลังมองหาแหล่งข้อมูลเพิ่มเติมเช่นหนังสือ แต่ลิงก์ของคุณบางส่วนนั้นใหม่และมีข้อมูล
Daniel Fath

1
@DanielFath: การอ่านเกี่ยวกับเรื่องนี้จะช่วยได้ แต่การแก้ปัญหาเป็นศิลปะที่ต้องฝึกฝนหากคุณต้องการที่จะทำสิ่งนั้นให้ดี ในโลกแห่งการเขียนซอฟต์แวร์มีปัญหาจำนวนมากที่คุณจะเห็นซ้ำ ๆ ประสบการณ์ของการแก้ไขพวกเขาก่อนที่จะช่วยให้คุณสามารถมองเห็นรูปแบบใหม่และใช้ทางออกที่ดีได้อย่างรวดเร็ว
Blrfl

ฉันเห็นด้วยกับการฝึกฝนเป็นส่วนใหญ่ฉันแค่แสดงความต้องการ ทรัพยากรที่เป็นรูปธรรมมากขึ้นเพื่อพิจารณาคำถามที่แก้ไขแล้ว ฉัน upvote คำตอบ (heck ฉัน upvote ทั้งหมดของพวกเขา)
Daniel Fath

4

โพสต์บล็อกกึ่งทางการเกี่ยวกับการสรรหา Google แนะนำหนังสือเล่มนี้: คู่มือการใช้งานขั้นตอนวิธีการออกแบบ

มันครอบคลุมและเขียนได้ดีโดยมีส่วน 'การอ้างอิงอย่างรวดเร็ว' ที่สามารถช่วยได้มากในสถานการณ์ของคุณเมื่อคุณคุ้นเคยกับอัลกอริธึมและโครงสร้างข้อมูลทั่วไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.