מהו ה-O הגדול של החיפוש הבינארי?
מהו ה-O הגדול של החיפוש הבינארי?

וִידֵאוֹ: מהו ה-O הגדול של החיפוש הבינארי?

וִידֵאוֹ: מהו ה-O הגדול של החיפוש הבינארי?
וִידֵאוֹ: How Binary Search Makes Computers Much, Much Faster 2024, מאי
Anonim

חיפוש בינארי הוא מהיר יותר מאשר ליניארי לחפש למעט מערכים קטנים.

חיפוש בינארי אַלגוֹרִיתְם.

הדמיה של ה חיפוש בינארי אלגוריתם שבו 7 הוא ערך היעד
מעמד לחפש אַלגוֹרִיתְם
ביצועים מהמקרה הטוב ביותר O (1)
ביצועים ממוצעים O (לוג n)
מורכבות החלל במקרה הגרוע ביותר O (1)

מכאן, מהי המורכבות של החיפוש הבינארי?

חיפוש בינארי פועל בזמן הלוגריתמי הגרוע ביותר, עושה השוואות O(log n), כאשר n הוא מספר האלמנטים במערך, ה-O הוא סימון Big O, ו-log הוא הלוגריתם. חיפוש בינארי לוקח מרחב קבוע (O(1)), כלומר הרווח שלוקח האלגוריתם זהה עבור כל מספר של אלמנטים במערך.

בנוסף, האם החיפוש הבינארי הוא המהיר ביותר? כן ולא. כן הם כן חיפושים שהם מהירים יותר, בממוצע, מאשר חצויה לחפש . אבל אני מאמין שהם עדיין O(lg N), רק עם קבוע נמוך יותר. אתה רוצה למזער את הזמן שלוקח למצוא את האלמנט שלך.

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

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

מהי מורכבות הזמן של חיפוש בינארי?

אז חייב להיות סוג כלשהו של התנהגות שהאלגוריתם מראה כדי לקבל א מוּרכָּבוּת של לוג n. תן לנו לראות איך זה עובד. מאז חיפוש בינארי בעל יעילות המקרה הטוב ביותר של O(1) ויעילות המקרה הגרוע ביותר (המקרה הממוצע) של O(log n), נסתכל על דוגמה למקרה הגרוע ביותר. שקול מערך ממוין של 16 אלמנטים.

מוּמלָץ: