מעבר לתוכן

אלגוריתמים 1 - גיליון 2


הודעות מומלצות

אני מתקשה מאוד עם שאלה 2:

 

נתון גרף ממושקל G=(V,E) שבו משקל כל קשת הוא 1 או 2. הציעו אלגוריתם המוצא עפ"מ בזמן O(V+E).

 

אין לי ממש כיוון.

חשבתי על BFS או DFS, אבל אני לא חושבת שזה יעזור לי איכשהו, כי גם אם אני אשנה את האלגוריתם איכשהו אני אצטרך להוכיח שהעץ שקיבלתי הוא מינימום, וזה נראה לי בכלל בכלל לא טריויאלי, כמו שההוכחה של DFS ו-BFS לא טריויאלית.

להשתמש בקרוסקל או פרים - אני חושבת שזה בעייתי מבחינת הסיבוכיות (אגב, מה יותר גדול? E+V או ElogV? אני מניחה מהשאלה ש-ElogV, אחרת אפשר לפתור את זה עם קרוסקל/פרים, אבל לא ממש ברור לי למה...)

 

בקיצור, אין לי ממש כיוון, אז אשמח לעזרה, כי ההגשה למחר בלילה....

 

תודה!  :)

קישור לתוכן
שיתוף באתרים אחרים

ראשית, אם אנחנו דנים בבעיית העפ"מ, אז הגרף בוודאי קשיר, לכן V=O(E) וכך V+E=O(E) ובפרט קטן מ-ElogV.

 

יש יותר מפתרון אחד לשאלה, אבל כנראה שהפשוט ביותר הוא להסתכל על האלגוריתמים שנלמדו בכיתה ולראות איפה הם "עולים כסף" ואיך אפשר לחסוך בעזרת הנתון.

 

קישור לתוכן
שיתוף באתרים אחרים

חשבתי להשתמש באלגוריתמים שלמדנו בכיתה, כמו פרים/קרוסקל, ולחסוך את המיון של הקשתות שעולה לנו ElogE. במקרה הזה, מיון של הקשתות לשתי קבוצות יעלה רק E.

 

אבל בשניהם יש גם את השלב הבא (בקרוסקל Union-Find ובפרים ערימת מינימום), שממנו אני לא ממש מצליחה להמנע....

כלומר, אני לא מצליחה לחסוך פרט לעניין המיון, אבל נראה שזה לא עוזר לי הרבה....

קישור לתוכן
שיתוף באתרים אחרים

בפרים אין שלב של מיון, אלא רק תור קדימויות (שבאחד המימושים מסופק ע"י ערימת מינימום). אפשר לממש תור קדימויות טוב יותר כאשר המשקלים מוגבלים.
קישור לתוכן
שיתוף באתרים אחרים

הצטרפות לשיח

באפשרותך לשלוח הודעה כעת ולהירשם מאוחר יותר. אם ברשותך חשבון, ניתן להתחבר עכשיו לשליחת הודעה דרך חשבונך.
הערה: הודעתך דרושה לאישור הנהלה לפני הצגתה.

אורח
הוספת תגובה

×   הדבקה כטקסט עשיר.   הדבקה כטקסט רגיל במקום

  מאושרים אך ורק 75 סמייקונים.

×   הקישור שלך מוצמד אוטומטית.   הצגה כקישור במקום

×   תוכן הקודם שלכם שוחזר.   ניקוי עורך

×   You cannot paste images directly. Upload or insert images from URL.

טוען...
×
×
  • יצירת חדש...