תרגיל מס` 23 - WordPress.com

‫מכללת אורט כפר‪-‬סבא‬
‫מב‪‬י ‪‬תו‪‬ים ויעילות אלגוריתמים‬
‫תרגיל מס' ‪23‬‬
‫פתרו את השאלות הבאות‪ .‬יש לסיים את התרגיל עד יום א' )‪.(22.2‬‬
‫שאלה ‪1‬‬
‫‪‬תו‪‬ה הרשת הזאת‪:‬‬
‫הריצו את האלגוריתם של דייקסטרה על הרשת ה‪‬תו‪‬ה‪ ,‬החל מקודקוד המקור ‪ ,1‬ומצאו מסלול‬
‫מי‪‬ימלי מקודקוד המקור ליתר הקודקודים ברשת הזאת‪.‬‬
‫שאלה ‪2‬‬
‫‪‬תו‪‬ה פו‪‬קציית זמן הריצה של אלגוריתם מסויים‪ ,‬הפועל על קלט שגודלו ‪:n‬‬
‫‪T (n)  2T ( n )  2‬‬
‫סיבוכיות זמן הריצה של קטע הקוד ה‪‬תון כפו‪‬קציה של ‪ n‬היא‪:‬‬
‫‪(log log(n)) .1‬‬
‫‪(log n) .2‬‬
‫‪ n .3‬‬
‫‪(log 2 n) .4‬‬
‫‪ ‬‬
‫‪1‬‬
‫שאלה ‪3‬‬
‫‪‬תון אלגוריתם המקבל כקלט גרף מכוון‪ ,‬ממושקל וקשיר בחוזקה )‪ G = (V,E‬ומחזיר ‪TRUE‬‬
‫אם בגרף קיים מעגל מכוון שלילי )כלומר‪ ,‬מעגל מכוון שסכום המשקלים על קשתותיו הוא מספר‬
‫שלילי(‪ ,‬ו‪ FALSE-‬אם לא קיים בו מעגל מכוון שלילי‪.‬‬
‫האם‪-‬קיים‪-‬מעגל‪-‬שלילי? )‪(G‬‬
‫צעד ‪:1‬‬
‫הרץ את אלגוריתם‬
‫)‪(1‬‬
‫על הגרף ‪ G‬החל מקודקוד שרירותי‪,‬‬
‫ואחסן במשת‪‬ה הבוליא‪‬י ‪ val‬את הערך שהאלגוריתם מחזיר‪.‬‬
‫צעד ‪:2‬‬
‫החזר את‬
‫)‪(2‬‬
‫‪..‬‬
‫א‪ .‬השלימו את הביטויים החסרים באלגוריתם‪ ,‬הממוספרים )‪.(2) – (1‬‬
‫ב‪ .‬מהי סיבוכיות זמן הריצה של האלגוריתם?‬
‫ג‪ .‬אילו שי‪‬ויים תצטרכו לעשות באלגוריתם אם לא ידוע ל‪‬ו מראש שהגרף ‪ G‬קשיר‬
‫בחוזקה? תארו את האלגוריתם לאחר השי‪‬ויים‪.‬‬
‫שאלה ‪) 4‬ממבחן של משרד החי‪‬וך(‬
‫לפ‪‬יכם הגדרה‪ :‬גשר בגרף לא מכוון וקשיר היא קשת שהסרתה הופכת את הגרף לבלתי קשיר‪.‬‬
‫מהי הטע‪‬ה שאי‪‬ה ‪‬כו‪‬ה?‬
‫‪ .1‬קשת אי‪‬ה גשר בגרף לא מכוון‪ ,‬קשיר ופשוט אם ורק אם היא ‪‬מצאת על מעגל פשוט‬
‫בגרף‪.‬‬
‫‪ .2‬גרף לא מכוון‪ ,‬קשיר ופשוט ‪‬יתן לכיוון לגרף קשיר בחוזקה אם ורק אם אין בו גשרים‪.‬‬
‫‪ .3‬קשת בגרף מכוון היא גשר אם ורק אם הקצוות שלה ‪‬מצאים ברכיבי קשירות חזקה‬
‫שו‪‬ים‪.‬‬
‫‪ .4‬אף אחת מבין התשובות ה‪‬תו‪‬ות אי‪‬ה ‪‬כו‪‬ות‪.‬‬
‫שאלה ‪5‬‬
‫‪‬תו‪‬ים ‪ n‬מפתחות שו‪‬ים זה מזה‪ ,‬השייכים כולם לתחום ]‪) [0,n2-1‬כלומר‪ ,‬כל המפתחות הם‬
‫מספרים שלמים הגדולים או שווים ל‪ ,0-‬וקט‪‬ים או שווים ל‪ .(n2-1-‬תארו במילים כיצד יעבוד‬
‫אלגוריתם יעיל הממיין את ‪ n‬המפתחות‪ .‬הי‪‬כם רשאים להיעזר באלגוריתמי מיון ש‪‬למדו בכיתה‪.‬‬
‫‪2‬‬
‫שאלה ‪) 6‬ממבחן של משרד החי‪‬וך(‬
‫שאלה ‪7‬‬
‫‪‬תון הגרף ‪ G‬הבא‪:‬‬
‫לפ‪‬יכם שלוש טע‪‬ות המתייחסות לגרף ‪ .G‬קבעו לגבי כל אחת מהן האם היא ‪‬כו‪‬ה או לא‬
‫‪‬כו‪‬ה‪ ,‬ו‪‬מקו את קביעתכם‪:‬‬
‫‪ .1‬אם ‪‬פעיל את האלגוריתם של ‪ Dijkstra‬על הגרף ‪ ,G‬למציאת מסלול קצר ביותר בין‬
‫הקודקודים ‪ A‬ו‪ ,D-‬אז אורך המסלול ש‪‬קבל יהיה ‪.8‬‬
‫‪ .2‬בגרף ‪ G‬יש לא פחות מארבעה מעגלים פשוטים באורך ‪.4‬‬
‫‪ .3‬אם ‪‬פעיל את האלגוריתם של ‪ Prim‬למציאת עץ פורש מי‪‬ימלי בגרף ‪ ,G‬ו‪‬בחר את‬
‫הקודקוד ‪ F‬להיות קודקוד ההתחלה‪ ,‬אז משקל העץ ש‪‬קבל יהיה ‪.10‬‬
‫‪3‬‬
‫שאלה ‪) 8‬ממבחן של משרד החי‪‬וך(‬
‫‪4‬‬
‫שאלה ‪) 9‬ממבחן של משרד החי‪‬וך(‬
‫‪5‬‬