رایج ترین الگوریتم های جاوا اسکریپت | به زبان ساده
در این مقاله به یادگیری برخی الگوریتمهای مقدماتی میپردازیم که هر توسعهدهندهای باید بشناسد. الگوریتمها موضوعی رایج در یک مصاحبه شغلی محسوب میشوند. بنابراین باید روی این موضوع تمرکز داشته باشید. داشتن درک خوبی از رایج ترین الگوریتم های جاوا اسکریپت میتواند موجب کسب جایگاه شغلی خوبی برای شما به عنوان یک توسعهدهنده شود.

فاکتوریل
فاکتوریل یکی از الگوریتمهای ابتدایی است. اما گاهی اوقات ممکن است از شما سؤال شود که فاکتوریل یک عدد چطور محاسبه میشود؟ بنابراین باید بدانیم فاکتوریل عدد به چه معنی است. فاکتوریل هر عدد برابر با آن عدد ضرب در فاکتوریل عدد قبل خود است. به این ترتیب همه اعداد به صورت بازگشتی در اعداد قبلی خود تا یک ضرب میشوند.
برای نمونه فاکتوریل عدد 5 به صورت زیر محاسبه میشود:
5! = 5 * 4 * 3 * 2 * 1
پیادهسازی تکراری
پیادهسازی بازگشتی
عدد فیبوناچی
اعداد فیبوناچی در ریاضیات به اعدادی گفته میشوند که از یک دنباله صحیح به نام دنباله فیبوناچی پیروی میکنند. در این دنباله هر عدد، به جز دو عدد اول، حاصل جمع دو عدد قبل از خود در دنباله است:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ....
پیادهسازی تکراری
پیادهسازی بازگشتی
جستجوی خطی
جستجوی خطی یا جستجوی ترتیبی در علوم رایانه به روش یافتن مقدار هدف درون یک لیست گفته میشود.
این روش به صورت ترتیبی هر عنصر لیست را برای یافتن مقدار هدف بررسی میکند تا این که یک مورد مطابقت پیدا شود و یا این که همه عناصر مورد جستجو قرار گیرند.

پیچیدگی زمانی
از آنجا که در بدترین حالت باید به بررسی هر عنصر دقیقاً یک بار بپردازیم، پیچیدگی زمانی این روش برابر با O(n) است.
پیادهسازی
جستجوی دودویی (Binary)
جستجوی دودویی در علوم رایانه به نام جستجوی نیم-بازه یا جستجوی لگاریتمی نیز شناخته میشود. این الگوریتم جستجو موقعیت مقدار هدف را در یک آرایه مرتب مییابد. نکته مهم که باید توجه داشته باشید این است که برای پیادهسازی جستجوی دودویی، آرایه حتماً باید مرتبسازی شده باشد.

پیچیدگی زمانی
از آنجا که ناحیه جستجو در هر بار تکرار بر دو تقسیم میشود، پیچیدگی زمانی این الگوریتم برابر با O(log(n)) است.
پیادهسازی
مرتبسازی حبابی (Bubble Sort)
پیچیدگی زمانی
از آنجا که برای مرتبسازی یک لیست با طول n این لیست باید در بدترین حالت به میزان n بار پیمایش شود، پیچیدگی زمانی این الگوریتم برابر با O(n^2) است.

پیادهسازی
مرتبسازی انتخابی (Selection Sort)
پیچیدگی زمانی
پیچیدگی زمانی این الگوریتم برابر با O(n^2) است.

پیادهسازی
مرتبسازی ادغامی (Insertion Sort)
مرتبسازی ادغامی یک روش مرتبسازی آرایه از طریق تقسیم آرایه به بخشهای مرتب و نامرتب است. سپس آیتم نامرتب مقایسه میشود تا موجه شویم آیا از آیتم قبلی خود بزرگتر است یا نه و اگر نبود آیتم جدید را درج میکنیم. در واقع ما به دنبال آیتمهای مرتب از سمت چپ به راست میگردیم و آنها را به ترتیب در آرایه مرتب درج میکنیم.
پیچیدگی زمانی
پیچیدگی زمانی این الگوریتم مرتبسازی برابر با O(n^2) است.

پیادهسازی
به این ترتیب به انتهای این مقاله با موضوع بررسی الگوریتمهای رایج برنامهنویسی در جاوا اسکریپت میرسیم.
مطالب مجله فرادرس را در جستجوی گوگل سریعتر ببینید













دستت درد نکنه عالی بود