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

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
MerlIwBot (שיחה | תרומות)
Legobot (שיחה | תרומות)
מ בוט: מעביר קישורי בינויקי לויקינתונים - d:q755673
שורה 18: שורה 18:


{{נ}}
{{נ}}

[[en:Search algorithm]]
[[ar:خوارزمية بحث]]
[[az:Axtarış alqoritmi]]
[[de:Suchverfahren]]
[[el:Αλγόριθμος αναζήτησης]]
[[es:Algoritmo de búsqueda]]
[[fa:الگوریتم جستجو]]
[[fi:Hakualgoritmi]]
[[fr:Algorithme de recherche]]
[[hu:Keresőalgoritmus]]
[[ia:Algorithmo de recerca]]
[[id:Algoritma pencarian]]
[[it:Algoritmo di ricerca]]
[[ja:探索]]
[[nl:Zoekalgoritme]]
[[pt:Algoritmo de busca]]
[[sr:Алгоритми претраживања]]
[[tr:Arama algoritmaları]]
[[vi:Giải thuật tìm kiếm]]

גרסה מ־16:53, 27 בפברואר 2013

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

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

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

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

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

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

לקריאה נוספת

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

תבנית:נ