यह केस स्टडी एक प्रोग्राम लिखती है जो एक पाठ में शब्दों की घटनाओं को गिनता है और शब्दों और उनकी घटनाओं को शब्दों के वर्णमाला क्रम में प्रदर्शित करता है। प्रोग्राम एक शब्द और उसकी गिनती वाली प्रविष्टि को संग्रहीत करने के लिए ट्रीमैप का उपयोग करता है। प्रत्येक शब्द के लिए, जांचें कि क्या यह मानचित्र में पहले से ही एक कुंजी है। यदि नहीं, तो कुंजी के रूप में शब्द और मान 1 के साथ मानचित्र में एक प्रविष्टि जोड़ें। अन्यथा, मानचित्र में शब्द (कुंजी) का मान 1 बढ़ाएँ। मान लें कि शब्द केस असंवेदनशील हैं; उदाहरण के लिए, अच्छा को अच्छा के समान माना जाता है।
नीचे दिया गया कोड समस्या का समाधान देता है।
ए 2
वर्ग 1
मज़ा 1
अच्छा 3
3 है
सुबह 1
विजिट 1
प्रोग्राम शब्दों के जोड़े और उनकी घटना की संख्या को संग्रहीत करने के लिए एक ट्रीमैप (पंक्ति 11) बनाता है। शब्द कुंजी का काम करते हैं। चूँकि मानचित्र में सभी मानों को ऑब्जेक्ट के रूप में संग्रहीत किया जाना चाहिए, गिनती एक Integer ऑब्जेक्ट में लपेटी गई है।
प्रोग्राम स्प्लिट विधि (पंक्ति 13) का उपयोग करके स्ट्रिंग क्लास में एक टेक्स्ट से एक शब्द निकालता है। निकाले गए प्रत्येक शब्द के लिए, प्रोग्राम जाँचता है कि क्या यह पहले से ही मानचित्र में एक कुंजी के रूप में संग्रहीत है (पंक्ति 18)। यदि नहीं, तो शब्द और उसकी प्रारंभिक गिनती (1) से युक्त एक नई जोड़ी मानचित्र (पंक्ति 19) में संग्रहीत की जाती है। अन्यथा, शब्द की गिनती 1 (पंक्तियाँ 21-23) बढ़ जाती है।
प्रोग्राम एक सेट (पंक्ति 29) में मानचित्र की प्रविष्टियाँ प्राप्त करता है, और प्रत्येक प्रविष्टि (पंक्ति 32-33) में गिनती और कुंजी प्रदर्शित करने के लिए सेट को पार करता है।
चूंकि मानचित्र एक वृक्ष मानचित्र है, इसलिए प्रविष्टियाँ शब्दों के बढ़ते क्रम में प्रदर्शित की जाती हैं। आप उन्हें घटनाओं की संख्या के आरोही क्रम में भी प्रदर्शित कर सकते हैं।
अब आराम से बैठें और सोचें कि आप मानचित्र का उपयोग किए बिना इस प्रोग्राम को कैसे लिखेंगे। आपका नया कार्यक्रम लंबा और अधिक जटिल होगा. आप पाएंगे कि इस तरह की समस्याओं को हल करने के लिए मानचित्र एक बहुत ही कुशल और शक्तिशाली डेटा संरचना है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3