יצירת כל תתי הקבוצות לקבוצה נתונה

יום שלישי, פברואר 16, 2016

הפוסט הזה נכתב בעקבות בעייה אמיתית, אבל כדי לפשט ולהקל אתמקד בעניין העקרוני ולא המעשי.נתונה קבוצת המספרים 1..N, ואנחנו מעוניינים לקבל את כל תתי הקבוצות שלה.ל-N מספרים יש (2 בחזקת N) תתי קבוצות. למשל: לקבוצה {1,2} יש 2^2=4 תתי קבוצות: {},{1},{2},{1,2}, והן כוללות גם את הקבוצה הריקה {} וגם את הקבוצה המקורית כולה – הקבוצה האוניברסלית - {1,2}.למה (2 בחזקת N) תתי קבוצות? כי כל איבר יכול להיות בקבוצה ויכול לא להיות (=2 אפשרויות), ולכן יש לכפול את 2 בעצמו כמספר האיברים הקבוצה.אציג להלן 2 דרכים שונות להתמודד עם המשימה.הדרך הראשונה מחוללת את (2 בחזקת N) המספרים, וליצוג הבינארי...
אין תגובות

פעולות חיתוך ואיחוד בין קבוצות וביצוע Union בעזרת Join

יום שני, פברואר 28, 2011

דרך מעניינת להסתכל על טבלאות היא כעל קבוצות של רשומות. נכון שהדימוי האינטואיטיבי הוא דווקא של רשימה מסודרת (טבלה..) אבל לסדר אין חשיבות והטבלה נשארת אותה טבלה ללא קשר לאופן המיון הלוגי או הפיזי של הרשומות (זו כנראה אחת הסיבות להתעקשותה של Microsoft לא לאפשר ביצוע Order By ב-View), ובין טבלאות ניתן לבצע פעולות חיתוך ואיחוד כפי שלמדנו במבוא לתורת הקבוצות.. לצורך ההמחשה ניצור שתי טבלאות בעלות מבנה זהה, ונכניס לתוכן נתונים - חלקם זהים וחלקם שונים: Use tempdb; Go ...

יצירת כל תתי הקבוצות של קבוצה נתונה

יום שני, דצמבר 6, 2010

לכל קבוצה בגודל n יש 2n תת קבוצות, למשל- לקבוצה {A,B,C} יש תת קבוצות {A},{B},{C},{A,B},{A,C},{B,C}; נוסיף להן את הקבוצה המקורית ואת הקבוצה הריקה ונקבל 8=23 תת קבוצות. אם נבחר קבוצה בת 4 איברים- אפשר באותה שיטה למצוא את 16=24 תת הקבוצות שלה, או לעשות חשבון פשוט- לכל תת קבוצה של הקבוצה בת 3 האיברים ניתן להוסיף את האיבר הרביעי וניתן לא להוסיף; כלומר- מכל תת קבוצה של n=3 נקבל 2 תת קבוצות עבור n=4 ובסה"כ 16. כך מוכיחים באופן כללי את הנוסחה באינדוקציה, וזה גם ישמש אותנו ליצור את תת הקבוצות בהמשך. ...
אין תגובות