تقسیم و تسخیر: جستجوی دودویی در JavaScript

عکس پروفایل نویسنده

در ابتدا ، به احتمال زیاد سعی خواهید کرد از یک روش brute force برای حل مشکلات جستجو استفاده کنید. این به این دلیل است که ساده ترین و ابتدایی ترین راه برای یافتن هدف است. اما نیروی بی رحم هزینه زمانی دارد. نماد Big O نیروی بی رحم معمولاً و به طور غیرقابل قبولی برابر یا بزرگتر از bigO (n²) است.

اگر بتوانید کاری را با استفاده از تکنیک brute force عملی کنید ، بعداً به احتمال زیاد لازم است آن را دوباره فاکتور کنید. ما در گذشته در مورد مرتب سازی حباب در JavaScript صحبت کرده ایم. من اشاره کردم که مرتب سازی حباب از روش brute force برای مرتب سازی یک آرایه استفاده می کند. مرتب سازی هزینه زمانی دارد اما برای استفاده از جستجوی دودویی که دارای bigO است (ورود به سیستم) لازم است.

به طور کلی ، هنگام اجرای یک مشکل جستجو بهتر است از یک لیست مرتب شده جستجو کنید. می توانید به جستجوی لیست تصادفی آپارتمان ها از طریق جستجوی گوگل فکر کنید. اکنون به این فکر کنید که به یک لیست گوگل از آپارتمان ها که با فاصله از شما مرتب شده اند ، نگاه کنید. به طور کلی لیست های مرتب شده بسیار مفیدتر هستند. جستجوی دودویی برای یک لیست مرتب نشده کار نخواهد کرد زیرا از نوعی حدس تحصیل کرده استفاده می کند.

اولین قدم در جستجوی دودویی مرتب سازی لیست است تا بتوانیم حدس بزنیم که هدف در کجا قرار دارد. می توانید از روش های جاوا اسکریپت داخلی استفاده کنید.

با این حال ، من چرخ را دوباره اختراع خواهم کرد زیرا ما در حال یادگیری الگوریتم ها هستیم …

سئو PBN | خبر های جدید سئو و هک و سرور