הצפנת תרמיל גב – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 29:
*מחשבים את רשימת הערכים הבאים: <math>\textstyle A_I=\sum_{i\in I} M_i</math> כלומר רשימת כל הסכומים האפשריים ב-<math>I</math>,
*באותו אופן מחשבים את רשימת הערכים: <math>\textstyle B_J=S-\sum_{j\in J} M_j</math>,
*ממיינים את הקבוצות לפי סדר מספרי ומחפשים התאמה כך תתקבלנהשתתקבלנה שתי תת-רשימות <math>I_0</math> ו-<math>J_0</math> המקיימות: <math>A_{I_0}=B_{J_0}</math>. רשימות אילו נותנות למעשה את הפתרון לבעיית התרמיל כי
:<math>S=\sum_{i\in I_0}M_i+\sum_{j\in J_0} M_j</math>.
מספר האלמנטים ב-<math>I</math> וב-<math>J</math> הוא לכל היותר <math>2^{n/2}</math> כל אחת ולכן זמן הריצה של האלגוריתם הוא <math>O(2^{n/2+\epsilon})</math> כאשר <math>\epsilon</math> הוא ערך קטן המייצג את התקורה הנוספת הנובעת מחישוב הרשימות ומיונן.