جستجوی باینری، به دلیل روش تقسیم تدریجی آن، پیچیدگی زمانی بسیار کمتری از "O(log n)" دارد. میتوانید جستجوی باینری را با استفاده از الگوریتم تکراری یا الگوریتم بازگشتی انتخاب کنید، اما هر دو ممکن است یک کار را با موفقیت انجام دهند.
کدام جستجو را می توان به صورت بازگشتی انجام داد؟
جستجوی باینری یک الگوریتم ذاتا بازگشتی است: ما میتوانیم به صورت تکراری پیادهسازی کنیم، اما از نظر الگوریتمی منطقیتر است که آن را به صورت بازگشتی انجام دهیم (اگرچه برای پیادهسازیهای خاصی ممکن است آن را به صورت تکراری انجام دهید. به دلایل کارایی). جستجوی باینری با تقسیم یک مجموعه داده مرتب شده به دو قسمت کار می کند.
کارآمدترین الگوریتم جستجو چیست؟
الگوریتم جستجوی دودویی بر اساس اصل تقسیم و غلبه کار می کند و به دلیل سرعت بیشتر در جستجو، بهترین الگوریتم جستجو محسوب می شود (به شرطی که داده ها به صورت مرتب شده باشند). جستجوی باینری به عنوان جستجوی نیم فاصله یا جستجوی لگاریتمی نیز شناخته می شود.
آیا الگوریتم جستجوی باینری بازگشتی است؟
جستجوی باینری یک الگوریتم بازگشتی است. … مقدار عنصر میانی تعیین می کند که آیا الگوریتم خاتمه یابد (کلید پیدا شد)، نیمه چپ لیست به صورت بازگشتی جستجو شود یا نیمه سمت راست لیست به صورت بازگشتی جستجو شود.
کدام روش برای جستجو بهتر است؟
بهترین الگوریتم جستجو
- جستجوی خطیبا پیچیدگی O(n)
- جستجوی باینری با پیچیدگی O(log n)
- جستجو با استفاده از مقدار HASH با پیچیدگی O(1)