क्या एल्गोरिदम का एक विश्वकोश है? [बन्द है]


34

क्या गणित की हैंडबुक में शैली के समान एल्गोरिदम का एक विश्वकोश है ? एक स्थान पर बड़ी संख्या में उपलब्ध होने के लिए यह उपयोगी लगता है। मुझे पता है कि कंप्यूटर प्रोग्रामिंग का कला एक अच्छा स्रोत माना जाता है, लेकिन यह इतना महत्वपूर्ण नहीं है कि यह शिक्षाप्रद है।

मॉडरेटर नोट

हम लंबे उत्तर की तलाश कर रहे हैं जो कुछ स्पष्टीकरण और संदर्भ प्रदान करते हैं। केवल एक पुस्तक सूचीबद्ध न करें: कृपया समझाएं कि आप पुस्तक या संसाधन की सिफारिश क्यों कर रहे हैं। कुछ भी नहीं समझाने वाले उत्तर हटा दिए जाएंगे। देखें अच्छा व्यक्तिपरक, बुरा व्यक्तिपरक अधिक जानकारी के लिए।



थोड़ा सा Googling इस सवाल का जवाब देने की दिशा में एक लंबा रास्ता तय करेगा। बहुत कम से कम, यह अच्छे उम्मीदवारों की एक सूची प्रदान करेगा जिसका उपयोग आप एक अधिक फ़ोकस प्रश्न पूछने के लिए कर सकते हैं।
कालेब

जवाबों:


41

मुझे यकीन नहीं है कि यह वही है जो आप खोज रहे हैं लेकिन NIST में डिक्शनरी ऑफ अल्गोरिद्म और डेटा स्ट्रक्चर्स हैं । यह डेटा संरचनाओं और एल्गोरिदम (दोह) के लिए एक बहुत व्यापक शब्दकोश है और आमतौर पर देखने के लिए जगह के लिए अच्छा है जब मुझे कुछ ऐसा मिलता है जिसके बारे में मैंने पहले कभी नहीं सुना था।


आपका जवाब बहुत ज्यादा वही है जो मैं देख रहा हूं। मुक्त होने के लिए अतिरिक्त अंक।
वर्ल्ड इंजीनियर

मजेदार बात यह है कि पिछले कुछ दिनों में अमेरिकी सरकार के बंद के कारण NIST DADS को अगली सूचना तक बंद कर दिया गया है! और फिर जब सुना हजारों डेवलपर्स एक ही बार में चिल्लाते हैं ...
हेलेम

11

स्कीना पुस्तक एक अच्छा संदर्भ भी है: http://www.algorist.com/

पुस्तक विभिन्न समस्या क्षेत्रों (डेटा संरचनाओं, खोज / छंटाई, ग्राफ़ की समस्याएं, संयोजन / क्रमांकन / अनुमान) और यहां तक ​​कि पी बनाम एनपी-पूर्ण समस्याओं के मुद्दों के माध्यम से पृष्ठभूमि से सब कुछ कवर करती है।

इस प्रश्न के लिए पुस्तक का विशेष रूप से प्रासंगिक अनुभाग ~ 70-75 अलग-अलग एल्गोरिदम की एक सूची है, इनपुट के प्रकार जो उन्हें आमतौर पर आवश्यक होते हैं, समस्या का समग्र विवरण एक विशेष एल्गोरिथ्म हल करता है, और अनुप्रयोगों के विशिष्ट उदाहरण (उदाहरण के लिए, चर प्रत्यय पेड़ों पर धारा इसके उपयोग के उपयोग पर चर्चा करती है, और प्रतिस्थापन और खोज के लिए इसकी प्रयोज्यता)। जहां संभव है कि लेखक विभिन्न सामान्य भाषाओं (c, c ++, Java और कुछ अन्य) के लिए मौजूदा कार्यान्वयन की पहचान करता है।


यह एक एल्गोरिथ्म विश्वकोश के सबसे करीब है, जिसके बारे में मैं सोच सकता हूं। बहुत बढ़िया किताब!
चारलांबोस पसचलाइड्स

8

कंप्यूटर प्रोग्राम की संरचना और व्याख्या और कंप्यूटर प्रोग्रामिंग की कला निकटतम हैं जो मैंने देखा है कि आप क्या चाहते हैं।

एसआईसीपी सामान्य डेटा संरचनाओं और एल्गोरिदम के माध्यम से चलता है। हालांकि यह एनसाइक्लोपीडिक नहीं है, लेकिन सीमित मात्रा में अंतरिक्ष में विस्तृत स्वैथ को कवर करना बहुत अच्छा है।

द आर्ट ऑफ़ कंप्यूटर प्रोग्रामिंग के बारे में क्या कहा जा सकता है जो पहले से नहीं है। जब आप इसे उठाते हैं तो सावधान रहें, आप एक विशिष्ट विषय के लिए इसे ले सकते हैं और घंटों बाद महसूस करते हैं कि आपने कवर से कवर तक की मात्रा पढ़ ली है। यह वास्तव में आपकी प्रोग्रामिंग को अगले स्तर तक ले जाने का एक शानदार तरीका है।


5
एसआईसीपी एक अद्भुत पुस्तक है, लेकिन मुझे नहीं लगता कि यह किसी के लिए "एल्गोरिदम का विश्वकोश" है। SICP ऐसा कुछ भी होने का प्रयास नहीं करता है। इसके अलावा, ओपी ने लिखा है कि एसीपी "शिक्षाप्रद इतना नहीं लगता है कि शिक्षाप्रद है," इसलिए यह स्पष्ट होना चाहिए कि एसआईसीपी वह नहीं है जो वह खोज रहा है।
कालेब

महान पुस्तक, लेकिन विश्वकोश नहीं।
haylem

बहुत यकीन है कि मैंने कहा कि यह विश्वकोश नहीं है, लेकिन एल्गोरिदम का एक अच्छा दौरा देता है। "हालांकि यह एनसाइक्लोपीडिक नहीं है, लेकिन सीमित मात्रा में अंतरिक्ष में व्यापक स्वैथ को कवर करना बहुत अच्छा है।" हाँ, यही मैंने कहा है।
माइकल ब्राउन

8

कॉर्मेन, लिसेर्सन, रिवेस्ट, स्टीन - "एल्गोरिदम का परिचय"

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

मुझे यह भी ध्यान देना चाहिए कि CLRS यह सलाह भी देता है कि किस एल्गोरिथम का उपयोग कब करना है, और एल्गोरिदम और डेटा संरचनाओं का एक सामान्य सूचकांक प्रस्तुत नहीं करता है। यह तब उपयोगी होता है जब आपके पास एक कार्य होता है जिसे आप पूरा करना चाहते हैं और इस बारे में सलाह लेना चाहते हैं कि इसके बारे में कैसे जाना जाए। आपके लिए बेहतर संसाधन हैं जब आप जानते हैं कि आप वह कैसे करना चाहते हैं जो आप कर रहे हैं और आपको केवल छद्म कोड की आवश्यकता है।

- नीचे @quanticle की टिप्पणियों से


4
क्या आप इस सवाल के लक्ष्य को पूरा करने के लिए अपने उत्तर का विस्तार कर सकते हैं?

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

1
मुझे यह भी ध्यान देना चाहिए कि CLRS यह सलाह भी देता है कि किस एल्गोरिथम का उपयोग कब करना है, और एल्गोरिदम और डेटा संरचनाओं का एक सामान्य सूचकांक प्रस्तुत नहीं करता है। यह तब उपयोगी होता है जब आपके पास एक कार्य होता है जिसे आप पूरा करना चाहते हैं और इस बारे में सलाह लेना चाहते हैं कि इसके बारे में कैसे जाना जाए। आपके लिए बेहतर संसाधन हैं जब आप जानते हैं कि आप वह कैसे करना चाहते हैं जो आप कर रहे हैं और आपको केवल छद्म कोड की आवश्यकता है।
क्वांटिकल

दिमित्री को संकेत: बस अपने उत्तर को 1000% अधिक भयानक बनाने के लिए उत्तर के शरीर में @ क्वांटिक की टिप्पणियों की प्रतिलिपि बनाएँ।
नं।

5

भौतिकी में स्नातक स्कूल में मैंने वास्तव में सी में न्यूमेरिकल व्यंजनों का आनंद लिया। यह सभी एल्गोरिदम को कवर नहीं करता है, निश्चित रूप से, लेकिन कई की उत्कृष्ट व्याख्या देता है जो विज्ञान में अविश्वसनीय रूप से उपयोगी हैं:

http://www.nr.com/

पुस्तक को हल करने के लिए कैसे शामिल हैं:

रेखीय समीकरण

  1. रेखीय समीकरण
  2. इंटरपोल और एक्सट्रैपलेशन
  3. कार्यों का एकीकरण
  4. समारोह का मूल्यांकन
  5. गामा फ़ंक्शन, बीटा फ़ंक्शन, फैक्टरियल सहित विशेष कार्य
  6. यादृच्छिक संख्या - इसका एक अच्छा विवरण सहित इसका मतलब है
  7. छँटाई एल्गोरिदम
  8. जड़ों और गैर-रेखीय समीकरणों का पता लगाना
  9. कार्यों का न्यूनतमकरण और अधिकतमकरण
  10. Eigensystems
  11. फास्ट फूरियर रूपांतरण
  12. एफएफटी और वर्णक्रमीय विश्लेषण
  13. आंकड़ों का सांख्यिकीय विवरण
  14. डेटा की मॉडलिंग
  15. साधारण अंतर समीकरणों का एकीकरण
  16. दो बिंदु सीमा समस्याओं
  17. इंटीग्रल समीकरण और व्युत्क्रम सीमा थ्योरी
  18. आंशिक अंतर समीकरण
  19. "अन्य" एल्गोरिदम जैसे सीआरसी चेक और डेटा संपीड़न

तो यह सब बहुत गणितीय है, वैज्ञानिकों के साथ-साथ खेलों के लिए भौतिकी इंजनों को डिजाइन करने वाले लोगों के लिए अच्छा है। और यह केवल एल्गोरिदम नहीं देता है, बल्कि उनके पीछे के व्हिस को बताता है ताकि आप उन्हें सही तरीके से उपयोग कर सकें। आपका विशिष्ट कोडिंग पाठ नहीं, लेकिन जब आपको इसकी आवश्यकता होती है, तो वास्तव में आपको क्या चाहिए।

डेटा विश्लेषण के लिए मल्टीमिडेंस (एक अमीबा वॉक) में डाउनहिल सिम्प्लेक्स विधि का उपयोग करते समय मैंने इस पर बहुत भरोसा किया। अभी भी इसमें मेरी पेंसिल के निशान हैं। आह, अच्छा समय!


1
क्या आप इस सवाल के लक्ष्य को पूरा करने के लिए अपने उत्तर का विस्तार कर सकते हैं?

4

यदि आप "एल्गोरिदम के विश्वकोश" की तलाश कर रहे हैं, तो एल्गोरिदम के विश्वकोश के साथ गलत होना मुश्किल होगा । मैं यह नहीं कह सकता कि मैंने इसे पढ़ा है ($ 399 में, यह एक विश्वकोश के लिए सस्ता है ), लेकिन धुंधला दिखना आशाजनक है:

एल्गोरिदम का एनसाइक्लोपीडिया छात्रों और शोधकर्ताओं के लिए महत्वपूर्ण एल्गोरिदम समस्याओं के समाधान का एक व्यापक सेट प्रदान करता है, जिसमें सबसे हालिया दशक से उच्च-प्रभाव समाधान शामिल हैं।

किसी ने पहले से ही स्टीवन स्कीना के द एल्गोरिथम डिज़ाइन मैनुअल का हवाला दिया था , लेकिन मुझे नहीं लगता कि किसी ने अभी तक स्कीना की संबंधित वेब साइट, स्टोनी ब्रुक एल्गोरिथम रिपोजिटरी का उल्लेख किया है । वेब साइट से:

डब्ल्यूडब्ल्यूडब्ल्यू पृष्ठ का उद्देश्य दहनशील एल्गोरिदम में सबसे बुनियादी समस्याओं में से सत्तर से अधिक के लिए एल्गोरिथ्म कार्यान्वयन के व्यापक संग्रह के रूप में सेवा करना है।

पुस्तक केवल ज्ञात एल्गोरिदम की एक सूची से अधिक है; यह भी एक प्रकार का ट्यूटोरियल है (शब्द के सर्वश्रेष्ठ अर्थ में) कैसे तय करने के लिए कि आपकी समस्या और स्थिति के लिए सबसे अच्छा उपयोग करने के लिए कौन सा एल्गोरिदम। दूसरी ओर, भंडार, प्रकृति में अधिक विश्वकोश है। यह आवश्यक नहीं है कि प्रत्येक एल्गोरिदम को स्वयं कैसे कार्यान्वित किया जाए, लेकिन यह इस बारे में बहुत कुछ बताता है कि एल्गोरिथ्म क्या करता है और यह सामान्य रूप से कैसे काम करता है, पुस्तक से अक्सर पढ़ने योग्य शब्द, और यह प्रत्येक के लिए वास्तविक कार्यान्वयन के लिए लिंक प्रदान करता है। कलन विधि।


2

Rosetta कोड विकी कई भाषाओं में आम एल्गोरिदम के क्रियान्वयन का एक बड़ा संग्रह है। यह पूरी तरह से शैक्षणिक नहीं है, लेकिन काफी जानकारीपूर्ण और मजेदार है।

उनके अपने शब्दों में:

रोसेटा कोड एक प्रोग्रामिंग चेस्टोमैथी साइट है। यह विचार एक ही कार्य के लिए संभव के रूप में कई अलग-अलग भाषाओं में समाधान प्रस्तुत करने के लिए है, यह प्रदर्शित करने के लिए कि भाषाएं समान और अलग कैसे हैं, और एक ग्राउंडिंग वाले व्यक्ति की सहायता करने के लिए एक दृष्टिकोण में दूसरे को सीखने में समस्या।

अन्य संसाधनों पर इसका मुख्य लाभ (जैसे एल्गोरिथम और डेटा संरचनाओं के एनआईएसटी शब्दकोश ) यह है कि यह आपको विभिन्न भाषाओं के लिए कई कार्यान्वयनों को देखने की अनुमति देता है। जो विभिन्न उद्देश्यों के लिए सहायक हो सकता है (अभिव्यक्ति की तुलना, किसी भाषा या किसी अन्य में व्यवहार्यता की पुष्टि, आदि ...)।

उदाहरण के लिए, QuickSort पृष्ठ (2013-10-07 के अनुसार) कम से कम 89 कार्यान्वयन प्रदान करता है।


क्या आप इस बारे में और अधिक व्याख्या करना चाहेंगे कि यह पूछे गए प्रश्न का उत्तर देने के लिए क्या करता है और इसकी अनुशंसा क्यों करता है? स्टैक एक्सचेंज में "लिंक-ओनली जवाब" का बहुत स्वागत नहीं है
gnat

@gnat: आमतौर पर सहमत होंगे, लेकिन यह कैसे अलग है कि एक "बुक-रेफ केवल" उत्तर? इसके अलावा, मुझे लगता है कि "कई भाषाओं में आम एल्गोरिदम के कार्यान्वयन का संग्रह" बहुत कुछ कवर करता है जो यह करता है। यह भी स्वीकृत उत्तर के रूप में विस्तृत (या कम) के रूप में है, यदि आप पर्याप्त रूप से करीब दिखते हैं :)
haylem

@gnat: वैसे भी, कुछ और जोड़ा।
--१३

@AnnaLear: क्षमा करें, मुझे लगता है कि आपका संपादन मेरी पोस्ट को छोटा और ट्रैक पर रखने के लिए पूरी तरह से सही था, लेकिन ऐसा लगता है कि gnat के अनुरोध पर परिवर्तनों के संबंध में तुलना को वापस रखना उचित था।
हेयर स्टाइल

0

जबकि इस विषय पर उत्कृष्ट और कालातीत शिक्षाप्रद पुस्तकें हैं, मुझे शायद ही लगता है, आपको ऐसा कोई ज्ञानकोश मिलेगा।

  • गणित पर एक विश्वकोश अनुसंधान के सहस्राब्दियों को कवर करता है। दूसरी ओर एल्गोरिदम का बमुश्किल एक सदी के लिए अध्ययन किया जाता है (बड़े पैमाने पर बोलना)। कंप्यूटर विज्ञान के पूरे क्षेत्र को बमुश्किल किसी ने समझा है और अधिकांश चीजें अभी भी तेजी से आगे बढ़ रही हैं। अगर इस समय एक विश्वकोश है, तो मुझे लगता है कि आप 10-20 वर्षों में खिड़की से 90% बाहर फेंक सकते हैं। और आधे से ज्यादा रखने लायक 10% मूल्य आधी सदी पहले ही छप चुका था। गणित की हैंडबुक के विशाल हिस्से अब से सौ वर्षों में अद्यतित हो जाएंगे।

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

IMHO, अभी सबसे अच्छा संसाधन जो एक विश्वकोश की भूमिका को पूरा करता है, वह है "इंटरनेट" (निहारना)। एक विश्वकोश की बात ज्ञान के अनुक्रमित, व्यापक, खोज योग्य भंडार (किसी विषय पर) है। व्यक्तिगत रूप से, मुझे यह सूची और यह सूची दोनों ही भारी लगती है। अन्य उत्तरों में भी, कई उत्कृष्ट एल्गोरिथ्म डेटाबेस जुड़े हुए हैं।

इसलिए जब आप गुणवत्ता के उसी स्तर की उम्मीद नहीं कर सकते हैं जैसा कि आप एक ऐसे विश्वकोश से अपेक्षा करेंगे जो आपके बुकशेल्फ़ को भरता है, तो आप उस क्षेत्र के युवाओं के लिए क्षतिपूर्ति के लिए आवश्यक समय के स्तर को प्राप्त करते हैं जिसके बारे में आप जानना चाहते हैं।


0

जहां तक ​​मौजूदा स्रोतों की बात है, मुझे लगता है कि विकिपीडिया सबसे करीब की चीज है जो आप खोज रहे हैं। बुद्धि के लिए, इस उद्देश्य के लिए विकिपीडिया पर एक अधिक परिभाषित "एल्गोरिथ्म टेम्पलेट" बनाना उपयोगी हो सकता है, लेकिन यह विकिपीडिया संपादकों के साथ चर्चा की जानी चाहिए और यहाँ नहीं।

द आर्ट ऑफ़ कंप्यूटर प्रोग्रामिंग पर एक त्वरित टिप्पणी : जब यह पूरा हो जाता है, तो इसमें "सारांश" वॉल्यूम शामिल करना होता है और हालांकि यह अब आपकी मदद नहीं करेगा, यह लगभग वही हो सकता है जो आप खोज रहे हैं। TAOCP यह क्या कवर करता है के लिए विश्वकोश है, लेकिन यह अभी तक पूरा नहीं हुआ है और नुथ का व्यक्तित्व ऐसा है कि वह चीजों को शामिल नहीं करने जा रहा है जब तक कि वह पूरी तरह से उन पर शोध नहीं करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.