الگوریتم جستجوی دودویی
قسمت قبل دربارهی آموزش الگوریتم صحبت کردیم. این قسمت هم قرار هست راجع به الگوریتم (الگوریتم جستجوی دودویی یا باینری) صحبت کنیم. با این تفاوت که قراره فسفر بیشتری بسوزونیم. اگر قسمت قبلی رو هنوز ندیدید، حتما ببینید چون از مقدمات این ویدئو به حساب میاد و تقریبا صحبت هایی که کردم، صحبت های مهمی هستن. برای دیدن ویدئوی قبلی اینجا کلیک کنید.
قبل از اینکه بریم سراغ درس اصلی اجازه بدین اول علت ساخت این ویدئوها رو بگم. من توی دوران مدرسه (راهنمایی یا دبیرستان یادم نیست) که بودم، استاد ربوکاپ که میومد سی پلاس پلاس، درس بده شروع میکرد به گفتن این الگوریتمها. ما خیلی غر میزدیم. اعصابمون خرد می شد که آقا برنامهی Command Line به چه درد ما میخوره؟!! ساخت برنامهی گرافیکی یادمون بده!! یادمون بده سایت بسازیم!
بعدها به این نتیجه رسیدم که آقا این الگوریتمها، قدرت حل مسئله رو بالا میبره. توانایی حل کردن مسئله ما رو بالا میبره. یعنی اگر من بتونم یک الگوریتم رو به کد تبدیل کنم، این باعث میشه که من قدرت حل مسئلم بیشتر بشه. هرچه قدر که شما بیشتر اینکار رو انجام بدی، الگوریتمهای مختلفی رو به کد تبدیل بکنی، توانایی کدنویسیت افزایش پیدا میکنه و قدرت حل مسئلت هم زیاد میشه.
الگوریتم جستجوی دودویی یا باینری چیست؟
نکته ای که باید بهش توجه داشته باشید این هست که الگوریتم جستجوی دودویی ، لیستی که دریافت میکنه باید حتما لیست مرتبی باشه. مثلا اگر باشه (5,7,1,2,10,3) اصلا شدنی نیست. اگر لیست ما غیر مرتب بود کاری که اول باید انجام بدید، این هست که لیست رو Sort یا مرتبش می کنید ( یک عالمه الگوریتم Sort داریم که هنوز به درسش نرسیدیم ) و بعد از اینکه مرتب شد، با استفاده از الگوریتم جستجوی دودویی میایم مثلا دنبال فلان عدد میگردیم.
روش کار الگوریتم جستجوی دودویی :
روش کار الگوریتم دودویی، به این شکل هست که کلا با حدس جلو میره. یعنی اگر بهش بگم توی لیستم دنبال عدد 12 میگردم، میاد حدس میزنه. میگه آقا من به خاطر اینکه یکم سرعت کارم بیشتر بشه، حدس میزنم عددی که تو بهم دادی وسط لیست هست. یعنی به محض اینکه من بهش عدد میدم، وسط یک لیست رو پیدا میکنه میاد عددی که توی اون index هستش رو با عددی که من بهش دادم مقایسه میکنه، اگر با همدیگه برابر باشه میگه بفرما، index 5 عدد 12 داخلش هست.
این موضوع رو هم بگم که از تمایل به یادگیری زبان دارت دارید، مطمئن باشید سایت نابغه ها بهترین و کامل ترین آموزش برنامه نویسی دارت رو ارائه میده و بعد از دارت میتونید برید سراغ فلاتر و برنامه های موبایل باهاش بسازید.
آموزش برنامه نویسی دارت
مقدمه زبان برنامه نویسی دارت در سالهای اخیر رشد آهسته و پیوستهای داشته؛ به همین خاطر این روزها این...
حمایت از نابغه ها فراموش نشه! حتما کانال تلگرام ، آپارات ، یوتیوب و همینطور اینستاگرام ما رو دنبال کنید، تا از آخرین اخبار و ویدیو هایی که گذاشتیم مطلع بشید.
- توصیه میکنم قبل از ارسال کامنت این آموزش را مشاهده فرمایید.
- برای ثبت نظر، حتما اسم و فامیل خود را به فارسی وارد کنید.
- حتما ایمیل صحیح را وارد کنید تا در صورت بررسی کارشناسان، پاسخ برای شما ایمیل شود.
- داخل متن کامنت کدهای برنامه نویسی قرار ندهید.
- برای ارسال کدهای برنامه نویسی از این سایت استفاده کنید و فقط لینک را داخل کامنت بگذارید.
- اگر اروری در برنامهها دریافت کردید، متن ارور را در این سایت وارد کنید و بعد لینک را داخل کامنت بگذارید.