Table of Contents
جستجوی خطی و جستجوی باینری الگوریتم های رایجی هستند که برای پیدا کردن عناصر در یک لیست استفاده می شوند. درک تعداد مورد انتظار هر الگوریتم می تواند در انتخاب کارآمدترین روش برای موقعیت های خاص کمک کند.این مقاله مقایسه های مورد انتظار در روش های جستجوی خطی در مقابل دودویی را مقایسه می کند.
جستجوی خطی
جستجوی خطی هر عنصر را در لیست به طور متوالی بررسی می کند تا زمانی که هدف را پیدا کند یا به پایان برسد، تعداد انتظار می رود مقایسه ها بستگی به این دارد که آیا هدف فعلی است و موقعیت آن در لیست.
اگر این فهرست شامل عناصر و هدف باشد، به همان اندازه در هر موقعیتی قرار دارد، تعداد قابل انتظار مقایسه ها عبارتند از:
[[ویرایش] [۱] [۱]
این به این دلیل است که به طور متوسط جستجو در نیمه راه از طریق لیست هدف را پیدا می کند.
جستجوی باینری
جستجوی باینری بر روی لیست های مرتب شده با تقسیم مکرر فاصله جستجو در نیمه کار می کند. بهره وری آن بستگی به اندازه لیست و موقعیت هدف دارد.
در بهترین حالت، هدف در وسط قرار دارد و تنها یک مقایسه را در بدترین حالت لازم دارد.
فرض بر این که هدف به همان اندازه در هر موقعیتی قرار دارد، تعداد انتظار شده مقایسه ها تقریباً:
[در این میان] [در مقایسه با] [مشرکان] [[[[[ویرایش]] [[[[ویرایش]] [[[ویرایش]]
مقایسه خلاصه
- جستجوی خطی دارای تعداد مقایسه ای مورد انتظار (n + 1) / 2.
- در این میان، تعداد قابل توجهی از موارد زیر را در نظر گرفته اند.[۱۰][۲][۲][۲][۳][۱][۲][۵][۱][۵][۵][۵][۲][۳][۱][۵][۵][۵][۲][۵][۵][۱][۲][۲][۵][۱][۲][۲][۱][۱][۱][۱][۲][۱][۱][۵][۵][۵][۲][۱][۵][۵][۵][۵][۵][۵][۵][۵][۵][۵][۵][۵][۲][۵][۵][۵][۵][۵][۵][۲][۲][۲][۲][۵][۵][۵][۵][۵][۵][۲][۲][۲][۵][۵][۲][۲][۵][۵][۵][۵][۵][۵][۵][۵][۵][۲][۲][۲][۵][۲][۲][۲][۲][۲][۲][۱][۱][۱][۲][۱][۱][۱][۱][۱][۱][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۲][۱][۱][
- جستجوی باینری به طور کلی نیاز به مقایسه کمتر برای لیست های بزرگ دارد.
- جستجوی خطی ممکن است برای لیست های کوچک یا غیر قابل مشاهده ترجیح داده شود.