"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > دراسة حالة: حوادث الكلمات

دراسة حالة: حوادث الكلمات

تم النشر بتاريخ 2024-07-31
تصفح:908

تقوم دراسة الحالة هذه بكتابة برنامج يقوم بإحصاء تكرارات الكلمات في النص ويعرض الكلمات وتكراراتها بالترتيب الأبجدي للكلمات. يستخدم البرنامج TreeMap لتخزين إدخال يتكون من كلمة وعددها. لكل كلمة، تحقق مما إذا كانت بالفعل مفتاحًا في الخريطة. إذا لم يكن الأمر كذلك، أضف إدخالاً إلى الخريطة باستخدام الكلمة كمفتاح وقيمة 1. وإلا قم بزيادة قيمة كلمة (مفتاح) بمقدار 1 في الخريطة. افترض أن الكلمات غير حساسة لحالة الأحرف؛ على سبيل المثال، يتم التعامل مع جيد بنفس الطريقة التي يتم بها التعامل مع جيد.

الكود أدناه يعطي الحل للمشكلة.

Image description

أ2
الفئة 1
متعة 1
جيد 3
لديك 3
الصباح 1
زيارة 1

يقوم البرنامج بإنشاء TreeMap (السطر 11) لتخزين أزواج من الكلمات وعدد مرات حدوثها. الكلمات بمثابة المفاتيح. نظرًا لأنه يجب تخزين جميع القيم في الخريطة ككائنات، فسيتم تغليف العدد في كائن عدد صحيح.

يستخرج البرنامج كلمة من النص باستخدام طريقة تقسيم (السطر 13) في فئة String. بالنسبة لكل كلمة مستخرجة، يتحقق البرنامج مما إذا كانت مخزنة بالفعل كمفتاح في الخريطة (السطر 18). إذا لم يكن الأمر كذلك، فسيتم تخزين زوج جديد يتكون من الكلمة وعددها الأولي (1) في الخريطة (السطر 19). بخلاف ذلك، يتم زيادة عدد الكلمة بمقدار 1 (السطور 21-23).

يحصل البرنامج على إدخالات الخريطة في مجموعة (السطر 29)، ويجتاز المجموعة لعرض العدد والمفتاح في كل إدخال (السطر 32-33).

نظرًا لأن الخريطة عبارة عن خريطة شجرة، يتم عرض الإدخالات بترتيب متزايد للكلمات. يمكنك عرضها بترتيب تصاعدي لأعداد التكرارات أيضًا.

الآن اجلس وفكر في كيفية كتابة هذا البرنامج دون استخدام الخريطة. سيكون برنامجك الجديد أطول وأكثر تعقيدًا. ستجد أن هذه الخريطة عبارة عن بنية بيانات فعالة وقوية للغاية لحل مشكلات مثل هذه.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/paulike/case-study-occurrences-of-words-hnm?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3