خوارزمية :: Rabinkarp.

Rabin-Karp Streaming Hash
التحميل الان

خوارزمية :: Rabinkarp. الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Norman Nunley, Jr
  • موقع ويب الناشر:
  • http://search.cpan.org/~nnunley/

خوارزمية :: Rabinkarp. العلامات


خوارزمية :: Rabinkarp. وصف

رابين كارب بث تجزئة الخوارزمية :: Rabinkarp هو تطبيق تجزئة Rabin و Karp البث، كما هو موضح في "WINNOWING: الخوارزميات المحلية لبصمات الأصابع" بواسطة Schleimer و Wilkerson و Aiken. بعد اقتراح Schleimer، أستخدم معادلاتهم الثانية: $ h ] = (($ h ] - $ c ** $ K) + $ C ) * $ kte pro النتائجية لهذه التجزئة ترمز معلومات حول قيم K التالية في الدفق (حصة K-Gram.) هذا يعني لأي دفق معين من القيم عدد صحيح (أو الأحرف)، ستعود N - K + 1 Hash القيم. للحصول على أفضل النتائج، ستحتاج إلى إنشاء مولد تعليمات برمجية يقوم بتصفية بياناتك لإزالة جميع المعلومات غير الضرورية. على سبيل المثال، في مستند إنجليزي كبير، يجب عليك إزالة جميع المساحات البيضاء، وكذلك إزالة كل الأحرف الكبيرة. نصي نصي $ = "تشغيل تشغيل تشغيل التشغيل، تشغيل تشغيل"؛ بلدي KGRAM = الخوارزمية :: Rabinkarp-> جديد (نافذة $، نص $)؛ أو بلدي $ kgram2 = الخوارزمية :: rabinkarp-> جديد (نافذة $، $ fh)؛ أو بلدي $ kgram3 = الخوارزمية :: rabinkarp-> جديد (نافذة $، sub {... العودة $ الأسطم، $ موضع؛})؛ بلدي (سعر التجزئة، start_position $، $ end_position) = $ kgram-> next؛ بلدي values = $ kgram-> القيم؛ بلدي حالات؛ # قاموس جميع kgrams. بينما (بلدي ($ ($ hash، ospos) = @ {shiftvalues}) {push @ occur icsances {$ hash}}، \ oppos؛ } بلدي إبرة $ = الخوارزمية :: Rabinkarp-> جديد (6، "إبرة")؛ افتح لي $ FH، "جديد (6، $ FH)؛ بلدي الإبرة $ = إبرة $-> التالي؛ بينما (بلدي ($ hay_hash، ospos) = $ haystack-> next) {تحذر "المباراة المحتملة عن" إبرة "في oppos" إذا كانت $ reseedle_hash eq $ hay_hash؛ } متطلبات: perl.


خوارزمية :: Rabinkarp. برامج ذات صلة