ההבדל בין חיפוש בינארי לחיפוש לינארי

Anonim

חיפוש בינארי לעומת חיפוש ליניארי

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

-> ->

מהו חיפוש ליניארי?

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

-> ->

מהו חיפוש בינארי?

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

-> ->

מה ההבדל בין חיפוש בינארי לבין חיפוש ליניארי?

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