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

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 4 אַפּרִיל 2021
תאריך עדכון: 15 מאי 2024
Anonim
5.4 חיפוש בינארי
וִידֵאוֹ: 5.4 חיפוש בינארי

תוֹכֶן

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


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

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


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

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

  • טבלת השוואה
  • חיפוש בינארי
  • הבדלים עיקריים
  • סיכום
  • סרטון הסבר

טבלת השוואה

בסיסחיפוש לינאריחיפוש בינארי
משמעותחיפוש לינארי כל רכיב נבדק ומשווה ואז ממוין

חיפוש בינארי רשימה שיש למיין מחולקת לשני חלקים ואז ממוינת.


 

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

חיפוש לינארי

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

חיפוש בינארי

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

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

הבדלים עיקריים

  1. חיפוש לינארי כל אחד מהאלמנטים נבדק ומשווה ואז ממיין ואילו חיפוש בינארי רשימה שיש למיין מחולקת לשני חלקים ואז ממוינת.
  2. מורכבות הזמן של חיפוש לינארי היא 0 (N) ואילו מורכבות הזמן של חיפוש בינארי היא O (יומן2נ).
  3. חיפוש לינארי הוא איטרטיבי ואילו חיפוש בינארי הוא חלוקה וכיבוש.
  4. בחיפוש לינארי אנו צריכים לכתוב יותר קוד ואילו בחיפוש בינארי אנו צריכים לכתוב פחות קוד.

סיכום

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

סרטון הסבר