מבני נתונים ואלגוריתמים - מחברת קורס/אלגוריתמים/תכנון דינאמי/תרגילים/פתרון תת-מחרוזת עולה ארוכה ביותר ברדוקציה/תשובה

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי

הפונקציה Convert(X) פשוט תחזיר את המערך ממויין בסדר עולה. (אם נשתמש במיון מיזוג, אז הסיבוכיות תהיה ).


נניח שהמערך המקורי הוא , והמערך הממויין הוא .

כל תת-מחרוזת עולה של , נניח , היא תת-מחרוזת משותפת ל ו: היא בהכרח תת-מחרוזת של לפי ההגדרה, והיא תת-מחרוזת של מפני שהיא מחרוזת עולה שאיבריה הם איברי .

לכן, בפרט, תת-המחרוזת המשותפת הארוכה ביותר היא גם בהכרח תת-המחרוזת העולה הארוכה ביותר של .