מבני נתונים ואלגוריתמים - מחברת קורס/מבחן סופי מועד ב' סמסטר ב' 2007 - שאלות
מתוך ויקיספר, אוסף ספרי הלימוד והמדריכים החופשי.
|
הנחיות
|
תוכן עניינים |
[עריכה] שאלה 1
(~24 נקודות)
אנא כתוב אלגוריתם יעיל המקבל כקלט מערך A של מספרים שלמים חיוביים, ומספר שלם חיובי t כלשהו, ומוציא כפלט True או False בהתאם לשאלה האם קיימת תת-קבוצה של הערכים בA שסכום איבריה הוא בדיוק t.
|
דוגמה: נניח שהמערך הוא |
אנא הבע סיבוכיות תשובתך במונחי
ו
.
[עריכה] שאלה 2
(~24 נקודות)
נתון גרף לא-מכוון וקשיר
, וכן טבלת עלויות לקשתות Weights. ידוע שאין שתי קשתות בעלות אותו המשקל: לכל שתי קשתות
ו
, בהכרח Weights[e1] ≠ Weights[e2]. אנא הוכח או הפרך את הטענה הבאה: לגרף קיים עץ פורש מינימום יחידי.
[עריכה] שאלה 3
(~24 נקודות)
נתונה מטריצה בת
עמודות ו
שורות. כל כניסה במטריצה היא 0 או 1, ולכן כל שורה מתארת מספר בינרי בעל
ביטים. השורות אינן מסודרות בסדר ידוע, אך ידוע שאין שתי שורות זהות. מכאן נובע שחסרה שורה להשלמת כל
המספרים האפשריים בעלי
ביטים.
|
דוגמה: עבור |
אנא תאר אלגוריתם המקבל מטריצה כזו, ומדפיס את השורה החסרה. נסה להגיע לאלגוריתם שסיבוכיותו
.
|
רמז נסה להפוך את הבעיה לבעיה קטנה בחצי (בערך) בזמן לינארי. |
[עריכה] שאלה 4
(~24 נקודות)
באפליקציה מסויימת, יש צורך במבנה נתונים התומך בפעולות Insert(pq, v), Delete-Min(pq), וMin(pq). משמעות פעולות אלו היא בדיוק זו של תור קדימויות - מדובר במבנה נתונים המשתמש באיזושהי השוואה כדי לספק את האיבר הקטן בכל עת.
- ידוע שבאפליקציה זו, מספר הפעולות הצפוי מסוג
Delete-Min(pq)וMin(pq)הוא זניח יחסית למספר הפעולות הצפוי מסוגInsert(pq, v). אנא הצע מימוש כך שInsert(pq, v)יהיה יעיל ככל האפשר. מה סיבוכיות שתי הפעולות האחרות במימוש שהצעת? - האם ייתכן מימוש לתור קדימויות בו הן
Insert(pq, v)והןDelete-Min(pq)יעבדו בזמן
?
|
שימו לב:
|
[עריכה] שאלה 5
(~14 נקודות)
במסיבה כלשהי יש
אנשים; חלקם לחץ ידיים זה עם זה. אנא הוכח שמספר האנשים שלחצו ידיים עם מספר אי-זוגי של אנשים - הוא זוגי.
|
דוגמה: נניח שבמסיבה יש שלשה אנשים: 1, 2, ו3, ורק 1 ו2 לחצו ידיים זה עם זה. יש שני אנשים שלחצו ידיים עם אדם אחד; אכן יש מספר זוגי (שניים) של אנשים שלחצו ידיים עם מספר אי-זוגי (אחת) של אנשים. |
|
רמז צייר גרף שבו כל אדם הוא צומת. מה יקרה אם תמחק צומת כלשהו והקשתות היוצאות ממנו? |
, ו
. התשובה היא
.
, ייתכן שהשורה הראשונה היא המערך