مصفوفة LCP
في علم الحاسوب ، تُعدّ مصفوفة أطول البادئات المشتركة ( مصفوفة LCP ) بنية بيانات مساعدة لمصفوفة اللواحق . وهي تخزن أطوال أطول البادئات المشتركة (LCPs) بين جميع أزواج اللواحق المتتالية في مصفوفة لواحق مرتبة.
على سبيل المثال، إذا كانت A := [aab،أب،أبااب،ب،باب] عبارة عن مصفوفة لاحقة، أطول بادئة مشتركة بين A [1] =aabو A [2] =أبيكونأوالتي طولها 1، لذا فإن H [2] = 1 في مصفوفة LCP H. وبالمثل، فإن LCP لـ A [2] =أبو A [3] =أباابيكونأب، لذا فإن H [3] = 2.
يُتيح توسيع مصفوفة اللواحق باستخدام مصفوفة LCP محاكاة عمليات اجتياز شجرة اللواحق من أعلى إلى أسفل ومن أسفل إلى أعلى بكفاءة ، [ 1 ] [ 2 ] كما يُسرّع عملية مطابقة الأنماط على مصفوفة اللواحق ، [ 3 ] ويُعدّ شرطًا أساسيًا لأشجار اللواحق المضغوطة. [ 4 ]
تاريخ
تم تقديم مصفوفة LCP في عام 1993، بواسطة أودي مانبر وجين مايرز جنبًا إلى جنب مع مصفوفة اللاحقة من أجل تحسين وقت تشغيل خوارزمية البحث عن السلسلة الخاصة بهم . [ 3 ]
تعريف
يتركليكن مصفوفة اللواحق للسلسلةمن الطول، أينهو حرف مميز فريد من نوعه وأصغر حجماً من الناحية المعجمية من أي حرف آخر.يشير إلى السلسلة الفرعية منتتراوح منل. هكذا،هوأصغر لاحقة من.
يتركيشير إلى طول أطول بادئة مشتركة بين سلسلتين نصيتينوثم مصفوفة LCPهو مصفوفة أعداد صحيحة بحجمبحيثغير مُعرَّف ولكل. هكذايخزن طول أطول بادئة مشتركة للمصطلح المعجمياللاحقة الأصغر رقم 1 واللاحقة السابقة لها في مصفوفة اللواحق.
الفرق بين مصفوفة LCP ومصفوفة اللاحقة:
- مصفوفة اللاحقة: تمثل الترتيب المعجمي لكل لاحقة في المصفوفة.
- مصفوفة LCP: تحتوي على أقصى طول لتطابق البادئة بين لاحقتين متتاليتين، بعد فرزها معجميًا.
مثال
لنفترض وجود سلسلة:
| أنا | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| S[i] | ب | أ | ن | أ | ن | أ | دولار |
ومصفوفة اللواحق المرتبة المقابلة لها :
| أنا | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| أ[i] | 7 | 6 | 4 | 2 | 1 | 5 | 3 |
مصفوفة اللواحق مع كتابة اللواحق عموديًا في الأسفل:
| أنا | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| أ[i] | 7 | 6 | 4 | 2 | 1 | 5 | 3 |
| S[A[i], n][1] | دولار | أ | أ | أ | ب | ن | ن |
| S[A[i], n][2] | دولار | ن | ن | أ | أ | أ | |
| S[A[i], n][3] | أ | أ | ن | دولار | ن | ||
| S[A[i], n][4] | دولار | ن | أ | أ | |||
| S[A[i], n][5] | أ | ن | دولار | ||||
| S[A[i], n][6] | دولار | أ | |||||
| S[A[i], n][7] | دولار |
ثم مصفوفة LCPيتم بناؤها عن طريق مقارنة اللواحق المتتالية معجميًا لتحديد أطول بادئة مشتركة بينها:
| أنا | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| أهلاً] | غير محدد | 0 | 1 | 3 | 0 | 0 | 2 |
فعلى سبيل المثال،هو طول أطول بادئة مشتركةتشترك فيها اللواحقو. لاحظ أنغير محدد، لأنه لا يوجد لاحقة أصغر منه معجمياً.
خوارزميات بناء فعالة
يمكن تقسيم خوارزميات بناء مصفوفة LCP إلى فئتين مختلفتين: الخوارزميات التي تحسب مصفوفة LCP كمنتج ثانوي لمصفوفة اللاحقة والخوارزميات التي تستخدم مصفوفة لاحقة تم إنشاؤها بالفعل من أجل حساب قيم LCP.
يقدم مانبر ومايرز (1993) خوارزمية لحساب مصفوفة LCP إلى جانب مصفوفة اللواحق فيالوقت. يوضح كاركاينن وساندرز (2003) أنه من الممكن أيضًا تعديلهاخوارزمية زمنية بحيث تحسب مصفوفة LCP أيضًا. قدم كاساي وآخرون (2001) أولخوارزمية الوقت (FLAAP) التي تحسب مصفوفة LCP بالنظر إلى النص ومصفوفة اللاحقة.
بافتراض أن كل رمز نصي يشغل بايتًا واحدًا وأن كل عنصر من عناصر مصفوفة اللاحقة أو LCP يشغل 4 بايتات، فإن العيب الرئيسي لخوارزميتهم هو شغل مساحة كبيرة منبايتات، بينما يشغل الناتج الأصلي (نص، مصفوفة لاحقة، مصفوفة LCP) فقطبايتات. لذلك، ابتكر مانزيني (2004) نسخة محسّنة من خوارزمية كاساي وآخرون (2001) (lcp9) وقلل من شغل المساحة إلىبايت. يقدم Kärkkäinen وManzini & Puglisi (2009) تحسينًا آخر لخوارزمية كاساي ((خوارزمية) تُحسّن وقت التشغيل. بدلاً من مصفوفة LCP الفعلية، تُنشئ هذه الخوارزمية مصفوفة LCP المُبدّلة (PLCP)، حيث تظهر القيم بترتيب النص بدلاً من الترتيب المعجمي.
يقدم غوغ وأوليبوش (2011) خوارزميتين على الرغم من كونهما بطيئتين نظرياً (كانت هذه الخوارزميات أسرع من الخوارزميات المذكورة أعلاه من الناحية العملية.
اعتبارًا من عام 2012يعود الفضل في أسرع خوارزمية لبناء مصفوفة LCP في الوقت الخطي حاليًا إلى فيشر (2011) ، والتي بدورها تستند إلى إحدى أسرع خوارزميات بناء مصفوفة اللواحق (SA-IS) التي طورها نونغ، تشانغ، وتشان (2009) . وتُعد خوارزمية فيشر وكوربيتز (2017)، المبنية على خوارزمية DivSufSort ليوتا موري، أسرع منها.
التطبيقات
كما أشار أبو الهدى، كورتز وأوليبوش (2004)، يمكن حل العديد من مشاكل معالجة السلاسل النصية من خلال الأنواع التالية من عمليات اجتياز الشجرة :
- اجتياز شجرة اللواحق الكاملة من الأسفل إلى الأعلى
- اجتياز من أعلى إلى أسفل لشجرة فرعية من شجرة اللواحق
- اجتياز شجرة اللواحق باستخدام روابط اللواحق.
أظهر كاساي وآخرون (2001) كيفية محاكاة اجتياز شجرة اللواحق من الأسفل إلى الأعلى باستخدام مصفوفة اللواحق ومصفوفة LCP فقط. قام أبو الهدى، وكورتز، وأوليبوش (2004) بتحسين مصفوفة اللواحق باستخدام مصفوفة LCP وهياكل بيانات إضافية، ووصفوا كيفية استخدام مصفوفة اللواحق المحسّنة هذه لمحاكاة جميع أنواع اجتياز شجرة اللواحق الثلاثة. قلّل فيشر وهيون (2007) من متطلبات المساحة لمصفوفة اللواحق المحسّنة عن طريق المعالجة المسبقة لمصفوفة LCP لاستعلامات الحد الأدنى للنطاق . وبالتالي، يمكن حل أي مشكلة يمكن حلها باستخدام خوارزميات شجرة اللواحق باستخدام مصفوفة اللواحق المحسّنة . [ 2 ]
تحديد ما إذا كان هناك نمطمن الطولهي سلسلة فرعية من سلسلةمن الطوليأخذالوقت إذا تم استخدام مصفوفة اللاحقة فقط. وباستخدام معلومات LCP بالإضافة إلى ذلك، يمكن تحسين هذا الحد إلىالوقت. [ 3 ] يُبين أبو الهدى، وكورتز، وأوليبوش (2004) كيفية تحسين وقت التشغيل هذا بشكل أكبر لتحقيق الأمثلالوقت. وبالتالي، باستخدام معلومات مصفوفة اللواحق ومصفوفة LCP، يمكن الإجابة على استعلام القرار بنفس سرعة استخدام شجرة اللواحق .
تُعدّ مصفوفة LCP جزءًا أساسيًا من أشجار اللواحق المضغوطة، والتي توفر وظائف شجرة اللواحق الكاملة، مثل روابط اللواحق واستعلامات السلف المشترك الأدنى . [ 5 ] [ 6 ] علاوة على ذلك، يمكن استخدامها مع مصفوفة اللواحق لحساب تحليل Lempel-Ziv LZ77 فيالوقت. [ 2 ] [ 7 ] [ 8 ] [ 9 ]
مشكلة أطول سلسلة فرعية متكررة لسلسلة نصيةمن الطوليمكن حلها فيالوقت باستخدام مصفوفة اللاحقةومصفوفة LCP. يكفي إجراء مسح خطي عبر مصفوفة LCP للعثور على قيمتها القصوىوالفهرس المقابلأينيتم تخزينها. ثم يتم تحديد أطول سلسلة فرعية تظهر مرتين على الأقل بواسطة.
يشرح الجزء المتبقي من هذا القسم تطبيقين لمصفوفة LCP بمزيد من التفصيل: كيف يمكن استخدام مصفوفة اللواحق ومصفوفة LCP لسلسلة نصية لإنشاء شجرة اللواحق المقابلة وكيف يمكن الإجابة على استعلامات LCP للواحق العشوائية باستخدام استعلامات الحد الأدنى للنطاق على مصفوفة LCP.
أوجد عدد مرات ظهور نمط معين
لإيجاد عدد مرات ظهور سلسلة معينة(طول) في نص(طول), [ 3 ]
- نستخدم البحث الثنائي على مصفوفة اللواحق الخاصة بـلإيجاد موضع البداية والنهاية لجميع حالات ظهور.
- والآن لتسريع عملية البحث، نستخدم مصفوفة LCP، وتحديداً نسخة خاصة من مصفوفة LCP (LCP-LR أدناه).
تكمن المشكلة في استخدام البحث الثنائي القياسي (بدون معلومات LCP) في أنه في كل منلإجراء المقارنات، نقارن P بالعنصر الحالي في مصفوفة اللواحق، مما يعني مقارنة سلسلة كاملة تصل إلى m حرفًا. لذا فإن التعقيد هو.
تساعد مصفوفة LCP-LR في تحسين ذلك إلى، بالطريقة التالية:
في أي مرحلة من مراحل خوارزمية البحث الثنائي، نأخذ في الاعتبار، كالمعتاد، نطاقًامن مجموعة اللواحق ونقطتها المركزيةونقرر ما إذا كنا سنواصل بحثنا في النطاق الفرعي الأيسرأو في النطاق الفرعي الأيمنلكي نتخذ القرار، نقوم بالمقارنةإلى السلسلة في. لوهو نفسهلقد اكتمل بحثنا. ولكن إن لم يكن كذلك، فقد قارنا بالفعل الخيار الأول.شخصياتثم قرر ما إذاأصغر أو أكبر معجميًا منلنفترض أن النتيجة هي أنأكبر منلذا، في الخطوة التالية، سننظر فيونقطة مركزية جديدةفي المنتصف:
م ...... م' ...... ر | نحن نعلم: lcp(P,M)==k
يكمن السر الآن في أن LCP-LR يتم حسابه مسبقًا بحيث يكون-lookup يخبرنا بأطول بادئة مشتركة لـو،.
نعلم بالفعل (من الخطوة السابقة) أنله بادئة خاصة بهالشخصيات المشتركة مع:والآن توجد ثلاثة احتمالات:
- الحالة 1:، أيتحتوي على عدد أقل من الأحرف البادئة المشتركة مع M مقارنةً بما تشترك فيه M مع M'. هذا يعني أن الحرف (k+1) في M' هو نفسه الحرف (k+1) في M، وبما أن P أكبر معجميًا من M، فلا بد أن تكون أكبر معجميًا من M' أيضًا. لذا نتابع في النصف الأيمن (M',...,R).
- الحالة الثانية:، أييحتوي على المزيد من الأحرف البادئة المشتركة معمنيشترك معوبالتالي، إذا قارنال، سيكون البادئة المشتركة أصغر من، وسيكون أكبر معجميًا منلذا، ودون إجراء المقارنة فعلياً، نواصل في النصف الأيسر.
- الحالة الثالثة:إذن، M و M' متطابقتان معفي الأولالشخصيات. لتحديد ما إذا كنا سنستمر في النصف الأيسر أو الأيمن، يكفي مقارنةلبدءاً منالحرف th.
- نستمر بشكل متكرر.
والنتيجة الإجمالية هي أنه لا توجد سمة من سماتتتم مقارنة الحرف بأي حرف من النص أكثر من مرة (للمزيد من التفاصيل، انظر [ 3 ] ). ويقتصر العدد الإجمالي لمقارنات الأحرف علىإذن فإن التعقيد الكلي هو بالفعل.
ما زلنا بحاجة إلى حساب LCP-LR مسبقًا حتى يتمكن من إخبارنا بذلك فياحسب قيمة LCP بين أي عنصرين في مصفوفة اللواحق. نعلم أن مصفوفة LCP القياسية تعطينا قيمة LCP للعناصر المتتالية فقط، أيلأي. لكن،ولا تُعتبر المدخلات المذكورة في الوصف أعلاه بالضرورة مدخلات متتالية.
يكمن مفتاح ذلك في إدراك أن نطاقات معينة فقطلن يحدث ذلك أبدًا أثناء البحث الثنائي: يبدأ دائمًا بـويقسمها من المنتصف، ثم يستمر إما إلى اليسار أو اليمين ويقسمها إلى نصفين مرة أخرى وهكذا. ويمكن النظر إلى الأمر بطريقة أخرى : كل عنصر في مصفوفة اللواحق يمثل نقطة مركزية لنطاق واحد ممكن فقط أثناء البحث الثنائي. لذا، يوجد بالضبط N نطاقًا مختلفًا.قد يلعب ذلك دورًا أثناء البحث الثنائي، ويكفي إجراء الحساب المسبق.ولأولئكالنطاقات المحتملة. هذا هوالقيم المحسوبة مسبقًا المتميزة، وبالتالي فإن LCP-LR هوفي الحجم.
علاوة على ذلك، توجد خوارزمية تكرارية مباشرة لحسابقيم LCP-LR فيالوقت من مصفوفة LCP القياسية.
لتلخيص:
- من الممكن حساب LCP-LR فيالوقت ومسافة من LCP.
- يساعد استخدام خوارزمية LCP-LR أثناء البحث الثنائي على تسريع عملية البحث منل.
- يمكننا استخدام عمليتي بحث ثنائيتين لتحديد الطرف الأيسر والأيمن لنطاق المطابقة لـ، ويتوافق طول نطاق التطابق مع عدد مرات ظهور P.
بناء شجرة اللواحق
بالنظر إلى مصفوفة اللواحقومصفوفة LCPمن سلسلةمن الطولشجرة اللواحق الخاصة بهايمكن بناؤها فييعتمد الوقت على الفكرة التالية: ابدأ بشجرة اللواحق الجزئية لأصغر لاحقة معجميًا وقم بإدخال اللواحق الأخرى بشكل متكرر بالترتيب الذي تحدده مصفوفة اللواحق.
يترككن شجرة اللواحق الجزئية لـ. علاوة على ذلك، دعليكن طول سلسلة جميع تسميات المسارات من جذرإلى العقدة.

ابدأ بـ، الشجرة التي تتكون من الجذر فقط. لإدراجداخلاسلك المسار الأيمن بدءًا من الورقة التي تم إدخالها مؤخرًاإلى الجذر، حتى أعمق عقدةمعيتم الوصول إليه.
نحتاج إلى التمييز بين حالتين:
- هذا يعني أن تسلسل التسميات على الجذر إلىالمسار يساوي أطول بادئة مشتركة من اللواحقوفي هذه الحالة ، أدخلكصفحة جديدةعقدةوقم بتسمية الحافةمعوبالتالي، يتكون تصنيف الحافة من الأحرف المتبقية من اللاحقة.التي لا يتم تمثيلها بالفعل من خلال تسلسل تسميات الجذر إلىالمسار. هذا يُنشئ شجرة اللواحق الجزئية.

الحالة الثانية (): لإضافة لاحقة، الحافة المؤدية إلى اللاحقة المُدرجة سابقًايجب تقسيمها. يتم تسمية الحافة الجديدة المؤدية إلى العقدة الداخلية الجديدة بأطول بادئة مشتركة من اللواحق.و. يتم وضع علامات على الحواف التي تربط بين الورقتين باستخدام أحرف اللاحقة المتبقية التي لا تشكل جزءًا من البادئة. - هذا يعني أن تسلسل التسميات على الجذر إلىيعرض المسار عددًا أقل من الأحرف مقارنةً بأطول بادئة مشتركة من اللواحق.ووالأحرف المفقودة موجودة في تسمية الحافة لـالحافة اليمنى لـ 's . لذلك، علينا تقسيم تلك الحافة على النحو التالي: ليكنأن يكون ابنعلىالمسار الأيمن.
- احذف الحافة.
- أضف عقدة داخلية جديدةوحافة جديدةمع ملصقيتكون الملصق الجديد من الأحرف المفقودة من أطول بادئة مشتركة لـووبالتالي، فإن تسلسل تسميات الجذر إلىيعرض المسار الآن أطول بادئة مشتركة لـو.
- يتصلإلى العقدة الداخلية التي تم إنشاؤها حديثًامن خلال الحافةهذا مصنفيتكون الملصق الجديد من الأحرف المتبقية من الحافة المحذوفةالتي لم تُستخدم كعلامة للحافة.
- يضيفكصفحة جديدةوقم بتوصيله بالعقدة الداخلية الجديدةمن خلال الحافةهذا مصنفوبالتالي، يتكون تصنيف الحافة من الأحرف المتبقية من اللاحقة.التي لا يتم تمثيلها بالفعل من خلال تسلسل تسميات الجذر إلىطريق.
- يؤدي هذا إلى إنشاء شجرة اللواحق الجزئية.
تُظهر حجة استهلاك بسيطة أن وقت تشغيل هذه الخوارزمية محدود بـ:
العقد التي يتم اجتيازها في الخطوةعن طريق السير في المسار الأيمن من(باستثناء العقدة الأخيرة)تُزال من المسار الأيمن ، عندماتُضاف هذه العقد إلى الشجرة كعقدة جديدة. ولن يتم اجتياز هذه العقد مرة أخرى في جميع الخطوات اللاحقة.لذلك، على الأكثرسيتم اجتياز العقد بالكامل.
استعلامات LCP عن اللواحق العشوائية
مصفوفة LCPيحتوي فقط على طول أطول بادئة مشتركة لكل زوج من اللواحق المتتالية في مصفوفة اللواحقومع ذلك، بمساعدة مصفوفة اللواحق العكسية(أي اللاحقةيبدأ ذلك من الموقعفييتم تخزينها في الموضعفي) والاستعلامات الدنيا ذات النطاق الزمني الثابت علىمن الممكن تحديد طول أطول بادئة مشتركة للواحق العشوائية فيوقت.
بسبب الترتيب المعجمي لمصفوفة اللاحقة، كل بادئة مشتركة للواحقويجب أن يكون بادئة مشتركة لجميع اللواحق بينموقع 's في مصفوفة اللواحقوموقع 's في مصفوفة اللواحقلذلك، فإن طول أطول بادئة مشتركة بين جميع هذه اللواحق هو القيمة الدنيا في الفترةيمكن إيجاد هذه القيمة في زمن ثابت إذاتتم معالجتها مسبقًا للاستعلامات المتعلقة بالحد الأدنى للنطاق.
وبالتالي، بالنظر إلى سلسلة نصيةمن الطول وموقعان عشوائيان في السلسلة مع، طول أطول بادئة مشتركة بين اللواحقويمكن حسابها على النحو التالي:.
ملحوظات
مراجع
- أبو الهدى، محمد إبراهيم؛ كورتز، ستيفان؛ أوهليبوش، إينو (2004). "استبدال أشجار اللواحق بمصفوفات اللواحق المحسّنة" . مجلة الخوارزميات المنفصلة . 2 : 53-86 . doi : 10.1016/S1570-8667(03)00065-0 .
- مانبر، أودي؛ مايرز، جين (1993). "مصفوفات اللواحق: طريقة جديدة للبحث عن السلاسل النصية عبر الإنترنت". مجلة SIAM للحوسبة . 22 (5): 935. CiteSeerX 10.1.1.105.6571 . doi : 10.1137/0222058 . S2CID 5074629 .
- كاساي، ت.؛ لي، ج.؛ أريمورا، هـ.؛ أريكاوا، س.؛ بارك، ك. (2001). حساب أطول بادئة مشتركة في مصفوفات اللواحق في زمن خطي وتطبيقاته . وقائع الندوة السنوية الثانية عشرة حول مطابقة الأنماط التوافقية. سلسلة محاضرات في علوم الحاسوب. المجلد 2089. الصفحات 181-192 . doi : 10.1007/3-540-48194-X_17 . ISBN 978-3-540-42271-6.
- أوهليبوش، إينو؛ فيشر، يوهانس؛ جوج، سيمون (2010). CST++ : معالجة السلاسل النصية واسترجاع المعلومات. سلسلة محاضرات في علوم الحاسوب. المجلد 6393. ص 322. doi : 10.1007/978-3-642-16321-0_34 . ISBN 978-3-642-16320-3.
- كاركاينن، يوها؛ ساندرز، بيتر ( 2003). بناء مصفوفة لاحقة عمل خطية بسيطة . وقائع المؤتمر الدولي الثلاثين حول الأوتوماتا واللغات والبرمجة. الصفحات 943-955 . تاريخ الاسترجاع: 28 أغسطس 2012 .
- فيشر، يوهانس (2011). استقراء مصفوفة LCP . الخوارزميات وهياكل البيانات. سلسلة محاضرات في علوم الحاسوب. المجلد 6844. الصفحات 374-385 . arXiv : 1101.3448 . doi : 10.1007/978-3-642-22300-6_32 . ISBN 978-3-642-22299-3.
- مانزيني، جيوفاني (2004). حيلتان لتوفير المساحة لحساب مصفوفة LCP في زمن خطي . نظرية الخوارزميات - SWAT 2004. سلسلة محاضرات في علوم الحاسوب. المجلد 3111. ص 372. doi : 10.1007/978-3-540-27810-8_32 . ISBN 978-3-540-22339-9.
- كاركاينن، يوها؛ مانزيني، جيوفاني؛ بوغليسي، سيمون ج. (2009). مصفوفة البادئة الأطول المشتركة المُبدَّلة . مطابقة الأنماط التوافقية. سلسلة محاضرات في علوم الحاسوب. المجلد 5577. ص 181. doi : 10.1007/978-3-642-02441-2_17 . ISBN 978-3-642-02440-5.
- بوغليسي، سيمون جيه؛ توربين، أندرو (2008). المفاضلات بين المساحة والوقت لحساب مصفوفة أطول بادئة مشتركة . الخوارزميات والحساب. سلسلة محاضرات في علوم الحاسوب. المجلد 5369. ص 124. doi : 10.1007/978-3-540-92182-0_14 . ISBN 978-3-540-92181-3.
- جوج، سيمون؛ أوهليبوش، إينو (2011). خوارزميات بناء مصفوفات LCP السريعة والخفيفة (ملف PDF) . وقائع ورشة عمل هندسة الخوارزميات والتجارب، ALENEX 2011. الصفحات 25-34 . تاريخ الاسترجاع: 28 أغسطس 2012 .
- نونغ، جي؛ تشانغ، سين؛ تشان، واي هونغ (2009). بناء مصفوفة اللواحق الخطية باستخدام الفرز المستحث شبه النقي . مؤتمر ضغط البيانات 2009. ص 193. doi : 10.1109/DCC.2009.42 . ISBN 978-0-7695-3592-0.
- فيشر، يوهانس؛ هيون، فولكر (2007). تمثيل جديد موجز لمعلومات RMQ وتحسينات في مصفوفة اللواحق المحسّنة . التوافقية، والخوارزميات، والمنهجيات الاحتمالية والتجريبية. سلسلة محاضرات في علوم الحاسوب. المجلد 4614. ص 459. doi : 10.1007/978-3-540-74450-4_41 . ISBN 978-3-540-74449-8.
- تشين، جي.؛ بوغليسي، إس. جيه.؛ سميث، دبليو. إف. (2008). "تحليل ليمبل-زيف باستخدام وقت ومساحة أقل". الرياضيات في علوم الحاسوب . 1 (4): 605. doi : 10.1007/s11786-007-0024-4 . S2CID 1721891 .
- كروشيمور، م.؛ إيلي، ل. (2008). "حساب أطول عامل سابق في وقت خطي وتطبيقاته". رسائل معالجة المعلومات . 106 (2): 75. CiteSeerX 10.1.1.70.5720 . doi : 10.1016/j.ipl.2007.10.006 . S2CID 5492217 .
- كروشيمور، م.؛ إيلي، ل.؛ سميث، و. ف. (2008). خوارزمية بسيطة لحساب تحليل ليمبل زيف . مؤتمر ضغط البيانات (dcc 2008). ص 482. doi : 10.1109/DCC.2008.36 . hdl : 20.500.11937/5907 . ISBN 978-0-7695-3121-2.
- ساداكاني، ك. (2007). "أشجار اللواحق المضغوطة ذات الوظائف الكاملة". نظرية أنظمة الحوسبة . 41 (4): 589-607 . CiteSeerX 10.1.1.224.4152 . doi : 10.1007/s00224-006-1198-x . S2CID 263130 .
- فيشر، يوهانس؛ ماكينين، فيلي؛ نافارو، غونزالو (2009). "أشجار اللواحق المضغوطة ذات الإنتروبيا المحدودة الأسرع" . علوم الحاسوب النظرية . 410 (51): 5354. doi : 10.1016/j.tcs.2009.09.012 .
- فيشر، يوهانس؛ كوربيتش، فلوريان (5 أكتوبر 2017). "تفكيك DivSufSort". وقائع مؤتمر براغ لعلم السلاسل 2017. arXiv : 1710.01896 .
روابط خارجية
- نسخة طبق الأصل من التنفيذ المخصص للرمز الموصوف في فيشر (2011)
- مكتبة SDSL: مكتبة هياكل البيانات المختصرة - توفر تطبيقات متنوعة لمصفوفات LCP، وهياكل دعم استعلام الحد الأدنى للنطاق (RMQ)، والعديد من هياكل البيانات المختصرة الأخرى
- محاكاة اجتياز شجرة اللواحق من الأسفل إلى الأعلى باستخدام مصفوفة اللواحق ومصفوفة LCP (جافا)
- مشروع فهرسة النصوص (إنشاء أشجار اللواحق، ومصفوفات اللواحق، ومصفوفة LCP، وتحويل Burrows-Wheeler في وقت خطي )
- المصفوفات
- مؤشرات السلاسل الفرعية
- هياكل بيانات السلاسل
