سلسلة فرعية

" string " هي سلسلة فرعية من " substring ".

في نظرية اللغات الرسمية وعلوم الحاسوب ، السلسلة الفرعية هي تسلسل متصل من الأحرف داخل سلسلة نصية . على سبيل المثال، " the best of " هي سلسلة فرعية من " It was the best of times ". في المقابل، " Itwastimes " هي تسلسل فرعي من " It was the best of times "، ولكنها ليست سلسلة فرعية.

تُعتبر البادئات واللواحق حالات خاصة من السلاسل الفرعية. بادئة السلسلةS{\displaystyle S}هي سلسلة فرعية منS{\displaystyle S}يحدث ذلك في بدايةS{\displaystyle S}وبالمثل، لاحقة سلسلة نصيةS{\displaystyle S}هي سلسلة فرعية تظهر في نهايةS{\displaystyle S}.

ستكون السلاسل الفرعية للسلسلة " apple " هي: " a " و " ap " و " app " و " appl " و " apple " و " p " و " pp " و " ppl " و " pple " و " pl " و " ple " و " l " و " le " و " e " و "" (لاحظ السلسلة الفارغة في النهاية).

سلسلة فرعية

خيطu{\displaystyle u}هو جزء (أو عامل) [ 1 ] من سلسلة نصيةت{\displaystyle t}إذا كان هناك سلسلتانص{\displaystyle p}وs{\displaystyle s}بحيثت=صus{\displaystyle t=pus}. على وجه الخصوص، السلسلة الفارغة هي سلسلة فرعية من كل سلسلة.

مثال: السلسلةu=أنا{\displaystyle u={\texttt {ana}}}يساوي السلاسل الفرعية (والتسلسلات الفرعية) منت=موز{\displaystyle t={\texttt {banana}}}عند إزاحتين مختلفتين:

موز ||||| أنا|| ||| أنا

يتم الحصول على أول ظهور معص=ب{\displaystyle p={\texttt {b}}}وs=نا{\displaystyle s={\texttt {na}}}بينما يتم الحصول على الظهور الثاني مع ص=حظر{\displaystyle p={\texttt {ban}}}وs{\displaystyle s}كونها سلسلة فارغة.

السلسلة الفرعية من سلسلة نصية هي بادئة للاحقة من السلسلة النصية، والعكس صحيح؛ على سبيل المثال، nanهي بادئة لـ nana، والتي بدورها لاحقة لـ banana.u{\displaystyle u}هي سلسلة فرعية منت{\displaystyle t}وهي أيضًا سلسلة فرعية ، وهو مفهوم أعمّ. يمكن إيجاد تكرارات نمط معين في سلسلة نصية معينة باستخدام خوارزمية بحث السلاسل . يُعرف إيجاد أطول سلسلة نصية تُساوي سلسلة فرعية من سلسلتين نصيتين أو أكثر بمسألة أطول سلسلة فرعية مشتركة . في الأدبيات الرياضية، تُسمى السلاسل الفرعية أيضًا بالكلمات الفرعية (في أمريكا) أو العوامل (في أوروبا).

بادئة

خيطص{\displaystyle p}هو بادئة [ 1 ] لسلسلة نصيةت{\displaystyle t}إذا كان هناك سلسلةs{\displaystyle s}بحيثت=صs{\displaystyle t=ps}لا يُساوي البادئة الصحيحة لسلسلة نصية السلسلة نفسها؛ [ 2 ] كما أن بعض المصادر [ 3 ] تُقيّد البادئة الصحيحة بأن تكون غير فارغة. ويمكن اعتبار البادئة حالة خاصة من السلسلة الفرعية.

مثال: السلسلة banتساوي بادئة (وسلسلة فرعية وتسلسل فرعي) من السلسلة banana:

موز ||| حظر

يُستخدم رمز المجموعة الفرعية المربعة أحيانًا للإشارة إلى البادئة، بحيثصت{\displaystyle p\sqsubseteq t}يشير إلى أنص{\displaystyle p}هو بادئة لـت{\displaystyle t}. هذا يحدد علاقة ثنائية على السلاسل، تسمى علاقة البادئة ، وهي نوع خاص من ترتيب البادئة .

لاحقة

خيطs{\displaystyle s}هو لاحقة [ 1 ] لسلسلة نصيةت{\displaystyle t}إذا كان هناك سلسلةص{\displaystyle p}بحيثت=صs{\displaystyle t=ps}اللاحقة الصحيحة لسلسلة نصية لا تساوي السلسلة نفسها. تفسير أضيق هو أنها ليست فارغة أيضاً.يمكن اعتبار اللاحقة حالة خاصة من السلسلة الفرعية.

مثال: السلسلة nanaتساوي لاحقة (وسلسلة فرعية وتسلسل فرعي) من السلسلة banana:

موز |||| نانا

شجرة اللواحق للسلسلة النصية هي بنية بيانات من نوع "تراي" تمثل جميع لواحقها. تُستخدم أشجار اللواحق على نطاق واسع في خوارزميات السلاسل النصية . أما مصفوفة اللواحق فهي نسخة مبسطة من هذه البنية، حيث تُدرج مواقع بداية اللواحق بترتيب أبجدي، ولها العديد من التطبيقات نفسها.

حدود

الحد هو لاحقة وبادئة لنفس السلسلة، على سبيل المثال "باب{\displaystyle {\texttt {bab}}}" هو حدود "باباب{\displaystyle {\texttt {باباب}}}"(وأيضًا من "قرد البابونتناول الطعامأكباب{\displaystyle {\texttt {بابون}}\,\,{\texttt {يأكل}}\,\,{\texttt {كباب}}}").

سوبرسترينج

سلسلة فائقة لمجموعة منتهيةP{\displaystyle P}مجموعة السلاسل هي سلسلة واحدة تحتوي على كل سلسلة فيP{\displaystyle P}كسلسلة فرعية. على سبيل المثال،bcclabccefab{\displaystyle {\texttt {bcclabccefab}}}هي سلسلة فائقة منP={abcc،إيفاب،bccla}{\displaystyle P=\{{\texttt {abcc}},{\texttt {efab}},{\texttt {bccla}}\}}، وefabccla{\displaystyle {\texttt {efabccla}}}وهي أقصر. دمج جميع أعضاءP{\displaystyle P}، وبترتيب عشوائي، يحصل دائمًا على سلسلة فائقة تافهة منP{\displaystyle P}إن إيجاد الأوتار الفائقة التي يكون طولها أصغر ما يمكن هو مشكلة أكثر إثارة للاهتمام.

يُطلق على السلسلة التي تحتوي على كل تبديل ممكن لمجموعة أحرف محددة اسم التبديل الفائق .

انظر أيضاً

مراجع

  1. 1 2 3 لوثير، م. (1997). التوافقية على الكلمات . كامبريدج: مطبعة جامعة كامبريدج. ISBN 0-521-59924-5.
  2. كيلي، دين (1995). الأوتوماتا واللغات الرسمية: مقدمة . لندن: برنتيس هول إنترناشونال. ISBN 0-13-497777-7.
  3. غوسفيلد، دان (1999) [1997]. خوارزميات على السلاسل والأشجار والمتتاليات: علوم الحاسوب وعلم الأحياء الحاسوبي . الولايات المتحدة: مطبعة جامعة كامبريدج. ISBN 0-521-58519-8.