2010-06-09 10 views
41

, जो काम मैं करता हूं वह चुनौतीपूर्ण और शायद ऐसा करने के करीब है, मुझे लगता है कि मैं पूरी तरह से नई समस्या को देखने के लिए कौशल खो रहा हूं और इसे हल करने के लिए विभिन्न विचारों के बारे में सोच सकता हूं।एल्गोरिदम कौशल को अद्यतन/विकसित करने के लिए टॉपकोडर के साथ कैसे शुरुआत करें? कार्यस्थल पर

एक दोस्त ने मुझे TopCoder.com का सुझाव दिया है, लेकिन बड़ी संख्या में समस्याओं को देखते हुए मैं तय नहीं कर सकता कि कैसे शुरू किया जाए?

जो मैं चाहता हूं वह मेरी तकनीक को तेज करना है (विशेष भाषा या ढांचा नहीं)।

उत्तर

17

एक ही रास्ता समस्याओं लेने के लिए किया जाएगा आरंभ करने के लिए चुनौती दे रहे हैं। डिवीजन I अधिक कठिन विभाजन है, इसलिए आपको शायद यह पता चलेगा कि विभाजन I मध्यम और कठिन समस्याएं कुछ हद तक दिलचस्प और चुनौतीपूर्ण होंगी (जब तक कि आप काफी चालाक न हों।)

यदि आप ईवेंट कैलेंडर देखते हैं, तो आप देख सकते हैं कि क्या आपके समय क्षेत्र में एल्गोरिदम प्रतियोगिता दौर आ रहे हैं। प्रतियोगिताओं में चुनौती चरण में अन्य लोगों के कोड को पढ़ने और विश्लेषण करने के लिए मजबूर करने का जोड़ा गया गुण है, इसलिए यदि आप जल्द ही घड़ी के बिना अभ्यास करेंगे, तो आप उन्हें दिलचस्प लग सकते हैं।

+6

मैं हताशा के साथ कैसे पेश आना चाहिए जब मैं काफी बुद्धिमान कठिन समस्याओं के समाधान के देखने के लिए नहीं होने के लिए अपने आप को इसके लिए जिम्मेदार शुरू? (अंतर्दृष्टि और बुद्धिमत्ता के लिए महत्वपूर्ण अभ्यास है? या इसके नाटक कि कुछ लोगों के पास है और कुछ "मैं जो पूछ रहा हूं वह नहीं है, क्या इसे विकसित किया जा सकता है, मैं खुद को गणित कौशल (शायद कम) पर औसत मानता हूं" –

+12

यह पूरी तरह से है अभ्यास और यह पूरी तरह से विकसित किया जा सकता है। सामान्य दोनों (उन समस्याओं पर हमला करने और स्पष्ट करने के तरीके हैं जहां यह स्पष्ट नहीं है कि कैसे शुरू किया जाए) और विशिष्ट (मौलिक एल्गोरिदमिक विचार जैसे गतिशील प्रोग्रामिंग, बीएफएस और डीएफएस, ग्राफ पर प्रवाह) रणनीतियों जो आप सीखेंगे जो इन समस्याओं को बदलते हैं समझने योग्य नहीं है। टीसी के पास शीर्ष क्षेत्र कोडर द्वारा लिखे गए एक बड़े ट्यूटोरियल अनुभाग हैं, जो लगभग निश्चित रूप से सहायता करेंगे: http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index यदि यह आपके लिए एक महत्वपूर्ण कौशल है, तो बस काम करना जारी रखें यह और आप प्रगति करेंगे। – mquander

+2

आपके समय और अद्भुत सलाह के लिए बहुत बहुत धन्यवाद :)। वास्तव में सराहना। –

3

सफ़ेद http://projecteuler.net हल करने की समस्या हलकों की संख्या से समस्याएं हो सकती हैं।

मैं इस पेज को पसंद करते हैं, क्योंकि यह अपरिवर्तनीय भाषा है और समस्याओं वास्तव में

12

टॉपकोडर एल्गोरिदम प्रतियोगिताओं आपकी कोडिंग गति को विकसित करने का एक तरीका है। अभ्यास क्षेत्र में किसी भी समस्या को हल करना मुश्किल है जब तक कि आपके पास पहले से ही विभिन्न एल्गोरिदम का ज्ञान न हो।

Project Euler पर समस्याएं समान त्रुटियों से ग्रस्त हैं। उचित समय सीमा में समस्याओं को हल करने के लिए आपको पहले से ही एल्गोरिदम पता होना चाहिए।

मेरा सुझाव है कि आप जिस परियोजना में रूचि रखते हैं उसे चुनना और आपके पास समय के साथ आगे बढ़ना है। उदाहरण के तौर पर, मैं वर्तमान में सीख रहा हूं कि ग्रहण समृद्ध ग्राहक मंच में open street map टाइल्स के साथ कैसे काम करना है।

+2

स्पष्ट रूप से समस्या निवारण रणनीतियों में भिन्नता है और "बहुत" व्यक्तिपरक है, लेकिन मैं यहां एक विरोधी विचार प्रदान करना चाहता हूं - मैंने परियोजना यूलर की कई समस्याएं की हैं, और उन्हें शायद ही कभी पूर्व-मौजूदा एल्गोरिदमिक ज्ञान की आवश्यकता होती है । टॉपकोडर की समस्याओं का आसान आधा भी बहुत कम ज्ञान का अनुमान लगाता है। – mquander

2

आप किसी भी ऑनलाइन न्यायाधीश में 2 समस्याओं के हल के अनुभव की जरूरत है अपनी पसंद के किसी भी प्रोग्रामिंग भाषा में (http://www.spoj.com, http://www.lightoj.com, http://www.codeforces.com की तरह)। यह आपको एक विचार देगा कि आपके प्रोग्राम ऑनलाइन कैसे परीक्षण किए जाते हैं।

तो फिर तुम इस का पालन कर सकते ->http://localboyfrommadurai.blogspot.in/2011/12/new-to-topcoder.html

संबंधित मुद्दे