בעייה אלגוריתמית

logie

New member
בעייה אלגוריתמית

שלום, אני בונה משחק קלפים בג'אווה ונתקלתי בבעיה. אני מעוניין למצוא את כל קומבינציות הקלפים מקבוצה נתונה באופן הבא: נתונה הקבוצה {A,B,C,D,E} תתי הקבוצות שיכולות להיווצר ממנה הן: A AB AC AD AE ABC ABD ABE ABCD ABCE ABCDE B BC BD BE BCD BCE BCDE C CD CE CDE D DE E למישהו יש רעיון לאגוריתם או קטע קוד שיבצע את המשימה ויכניס כל קבוצה כאיבר ברשימה? תודה מראש.
 

Fingertip

New member
רקורסיה

1. כל תתי הקבוצות של קבוצה ריקה הוא האוסף המכיל את הקבוצה הריקה בלבד. 2. כל תתי הקבוצות של קבוצה בעלת לפחות איבר אחד, נאמר X, מתקבל על ידי לקיחת אוסף תתי בקבוצות מתוך הקבוצה ללא X (ברקורסיה). לאוסף הזה יש להוסיף את כל הקבוצות מהאוסף כאשר מוסיפים לכל קבוצה את X. כלומר, אם הקריאה הרקורסיבית הניבה את האוסף {A1, ..., An} אז אוסף תתי הקבוצות הדרוש הוא:
{A1, ..., An, A1U{X}, ..., AnU{X}}​
מקווה שעזרתי, אהד.
 
למעלה