Jump to content
החלפת מצב תפריט
שינוי מצב תפריט ההעדפות
החלפת מצב תפריט אישי
לא בחשבון
כתובת ה־IP שלך תהיה גלויה לציבור אם תעשה עריכות כלשהן.

האלגוריתם של פרים

מתוך ויקיפדיה, האנציקלופדיה החופשית

תבנית {{אלגוריתם}} ריקה מתוכן. יש להזין פרמטרים בערך או בוויקינתונים.

קובץ:Prim.PNG
דוגמת הרצה של האלגוריתם של פרים

האלגוריתם של פרים הוא אלגוריתם חמדן המשמש למציאת עץ פורש מינימלי בגרף ממושקל לא מכוון. האלגוריתם פותח לראשונה בידי המתמטיקאי הצ'כי וויטייך ירניק בשנת 1930 ובאופן בלתי תלוי בידי רוברט פרים בשנת 1957 ובידי אדסחר דייקסטרה בשנת 1959.

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

בעת מימוש האלגוריתם נעשה שימוש בערימה שמתוכה מוציאים בכל פעם את הצלע המינימלית. אם משתמשים בערימה בינארית סיבוכיות האלגוריתם תהיה <math>\ O(E \log{V} + V \log{V})</math> (כאשר <math>\ E</math> הוא מספר הקשתות ו-<math>\ V</math> הוא מספר הקודקודים). ניתן לשפרה מעט באמצעות שימוש בערימת פיבונאצ'י ולהגיע ל-<math>\ O(E + V \log V)</math>.

באופן כללי היעילות של האלגוריתם של פרים טובה מזו של האלגוריתם של קרוסקל. למרות זאת, אם הקלט כבר ממויין לפי משקלי הקשתות או כאשר ניתן למיין אותם בזמן ליניארי, אזי האלגוריתם של קרוסקל יהיה מהיר יותר עם זמן ריצה של <math>\ O(E\ \alpha(E,V))</math>.

ראו גם עריכה

קישורים חיצוניים עריכה

ויקישיתוף מדיה וקבצים בנושא [[commons:Category:{{#property:P373}}|האלגוריתם של פרים]] בוויקישיתוף