למה משמש אלגוריתם Prims?
למה משמש אלגוריתם Prims?

וִידֵאוֹ: למה משמש אלגוריתם Prims?

וִידֵאוֹ: למה משמש אלגוריתם Prims?
וִידֵאוֹ: L-4.9: Prim's Algorithm for Minimum Cost Spanning Tree | Prims vs Kruskal 2024, מאי
Anonim

במדעי המחשב, של פריים (ידוע גם כJarník's) אַלגוֹרִיתְם הוא חמדן אַלגוֹרִיתְם שמוצא עץ פורש מינימלי עבור גרף לא מכוון משוקלל. זה אומר שהוא מוצא תת-קבוצה של הקצוות שיוצר עץ שכולל כל קודקוד, כאשר המשקל הכולל של כל הקצוות בעץ ממוזער.

חוץ מזה, למה משמש האלגוריתם של קרוסקל?

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

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

שנית, איזה אלגוריתם Prims ו- Kruskal עדיף?

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

מהי מורכבות הזמן של אלגוריתם פרימס?

לפיכך הוא משתמש במערך יחיד של מספרים שלמים כדי להגדיר תת-גרף של גרף. ה מורכבות הזמן הוא O(VlogV +ElogV) = O(ElogV), מה שהופך אותו לזהה Kruskal'salgorithm . למרות זאת, האלגוריתם של פריים ניתן לשפר באמצעות Fibonacci Heaps (cf Cormen) ל-O(E + logV).

מוּמלָץ: