मेरी सलाह - जावा का सबसेट सीखें, फिर कुछ बुनियादी एल्गोरिदम सीखें, फिर पता लगाएं कि आप वहां से कहाँ जाना चाहते हैं।
आपको एल्गोरिदम लागू करने के साथ प्रयोग करने के लिए सभी जावा को जानने की आवश्यकता नहीं है। आपको एक ही कक्षा में कुछ विधियों (अक्सर केवल एक) को लपेटने में सक्षम होना चाहिए (और यहां तक कि केवल इसलिए कि जावा सब कुछ कक्षा में जोर देता है)। आपको सशर्त और लूपिंग संरचनाओं और सरणी की आवश्यकता होगी। डेटा संरचनाओं के लिए, आपको शायद जावा संदर्भों को समझने की आवश्यकता होगी, हालांकि आप पूर्णांक का उपयोग करके पूर्णांक का उपयोग कर नकली पॉइंटर्स सक्षम कर सकते हैं।
बिंदु यह है कि एल्गोरिदम महत्वपूर्ण हैं, लेकिन अपेक्षाकृत छोटे पैमाने पर। डेटा संरचनाओं को आम तौर पर उन्हें काम करने के लिए कुछ एल्गोरिदम की आवश्यकता होती है। लेकिन आपको एल्गोरिदम के साथ प्रयोग करने के लिए ऑब्जेक्ट उन्मुख डिजाइन जैसे बड़े पैमाने पर मुद्दों की समझ की आवश्यकता नहीं है।
संपादित
टिप्पणियों से, मुझे लगता है कि आप अच्छी तरह से "वहाँ से जहां जाने के लिए" चरण में पहले से ही कर रहे हैं।
एल्गोरिदम (या अलग गणित) को न भूलें क्योंकि आपको विश्लेषण की परवाह नहीं है, हालांकि। एक व्यापक (गहराई से नहीं) समझ एक उपयोगी संसाधन है - वे समस्या निवारण विधियों के लिए बहुत अच्छे हैं।
उदाहरण के लिए, मुझे हाल ही में चक्रों से निपटने के तरीके के बारे में एक निर्भरता-आदेश देने के मुद्दे में भ्रमित कर दिया गया था। मैं digraphs में "दृढ़ता से जुड़े घटकों" के बारे में भूल गया था। एक बार मुझे याद दिलाया गया, समस्या छोटी हो गई - कोई दृढ़ता से जुड़े घटक के भीतर आदेश देने की कोशिश नहीं कर रहा, लेकिन वे घटक एक विश्वकोशिक डिग्राफ बनाते हैं। वहां से, जवाब सिर्फ एक स्थलीय प्रकार दूर है।
टोपोलॉजिकल प्रकार के बारे में जानना अंतिम चरण छोटा बनाता है। दृढ़ता से जुड़े घटकों के बारे में भूल जाने के कारण मुझे काफी समय लगता है। यह समझना कि कैसे Tarjans दृढ़ता से जुड़े घटक एल्गोरिदम काम करता है ... विकिपीडिया और कलम और कागज के साथ कुछ मिनट पर्याप्त हैं, एक बार जब आप जानते हैं कि क्या देखना है।
दरअसल, मुझे कबूल करना चाहिए - "मुझे याद दिलाया गया" का अर्थ है कि मैंने टोपोलॉजिकल सॉर्टिंग पर एक पुराने डॉ। डॉब्स लेख को देखा जो उसी दृष्टिकोण का उपयोग करता था।
आपकी प्रोग्रामिंग पृष्ठभूमि क्या है? क्या आपको एल्गोरिदम और डेटा संरचनाओं की समझ है? – quantumSoup
आपको जावा में या किसी भी प्रोग्रामिंग भाषा के लिए उन्हें लागू करने से पहले आपको एल्गोरिदम की समझ की आवश्यकता है। –
@ Raze2dust - आपको उन्हें समझने से पहले एल्गोरिदम का वर्णन करने के लिए एक भाषा की भी आवश्यकता है। अंग्रेजी इसके लिए इतना महान नहीं है, और गणित शायद ही कभी अपने आप को समझ में आता है। और आपके एल्गोरिदम प्रयोगों के लिए एक उद्देश्य परीक्षण के बिना (यह वास्तव में काम करता है), कुछ गलत विचारों को गहराई से प्राप्त करना आसान है। – Steve314