אלגוריתם חיפוש – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
נארף (שיחה | תרומות)
אין תקציר עריכה
נארף (שיחה | תרומות)
אין תקציר עריכה
שורה 3: שורה 3:
החיפוש הבסיסי ביותר הוא חיפוש ב[[כוח גס]] - מעבר על כל הנתונים לפי סדרם, עד למציאת הנתון המבוקש. זהו חיפוש בלתי יעיל, וכאשר מספר הנתונים שבהם יש לחפש הוא גדול, החיפוש נמשך זמן רב, במידה בלתי סבירה.
החיפוש הבסיסי ביותר הוא חיפוש ב[[כוח גס]] - מעבר על כל הנתונים לפי סדרם, עד למציאת הנתון המבוקש. זהו חיפוש בלתי יעיל, וכאשר מספר הנתונים שבהם יש לחפש הוא גדול, החיפוש נמשך זמן רב, במידה בלתי סבירה.


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


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


מבנה נתונים בסיסי המאפשר זאת הוא [[עץ חיפוש]], שהוא [[מבנה נתונים]] ממוין המאפשר הכנסה, הוצאה וחיפוש. עצי חיפוש משוכללים יותר כמו [[עץ אדום שחור]] ו[[עץ AVL]] מאפשרים לבצע את הפעולות הללו במהירות (דהינו ב[[סיבוכיות]] נמוכה).
לחיפוש בגרף משמשים [[אלגוריתם חיפוש לעומק]] ו[[אלגוריתם חיפוש לרוחב]].

לחיפוש בגרפים (כמו עצי החיפוש שהוזכרו לעיל) משמשים [[אלגוריתם חיפוש לעומק]] ו[[אלגוריתם חיפוש לרוחב]].


==לקריאה נוספת==
==לקריאה נוספת==

גרסה מ־12:48, 3 באוקטובר 2007

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

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

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

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

מבנה נתונים בסיסי המאפשר זאת הוא עץ חיפוש, שהוא מבנה נתונים ממוין המאפשר הכנסה, הוצאה וחיפוש. עצי חיפוש משוכללים יותר כמו עץ אדום שחור ועץ AVL מאפשרים לבצע את הפעולות הללו במהירות (דהינו בסיבוכיות נמוכה).

לחיפוש בגרפים (כמו עצי החיפוש שהוזכרו לעיל) משמשים אלגוריתם חיפוש לעומק ואלגוריתם חיפוש לרוחב.

לקריאה נוספת

ערך זה הוא קצרמר בנושא מחשבים. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.

תבנית:נ