Code Module | کد ماژول
1.91K subscribers
357 photos
42 videos
6 files
355 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
persian_Grokking_Algorithms_An_illustrated_guide_for_programmers.pdf
24.5 MB
الگوریتم یکی از دانش های پایه برنامه نویسی هست که هر دولوپر تو هر حوزه باید باهاش آشنا باشه 😎

توی این پست یک کتاب ترجمه شده به اسم Grokking Algorithms براتون قرار دادیم که الگوریتم و براتون مثل آب خوردن میکنه🔥


#book #algorithm
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥95❤‍🔥2
سرچ الگوريتم و کاربردش در وب 🔥

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

چند نوع الگوریتم جستجو داریم؟ 🤨

1. جستجوی خطی (linear search) : هر رکورد رو یک به یک بررسی میکنه تا زمانی که هدف پیدا شه.

2. جستجوی دودویی (binary search) : ساختار داده رو به دو قسمت تقسیم میکنه و همین کار باعث میشه، از جستجوی خطی سریع تر بشه.

توجه : این یک طبقه بندی سطح بالا هست.

سرچ الگوریتم چه کابردی داره؟

الگوریتم های جستجو کاربرد های زیادی مثل NLP، ماشین لرنینگ و ... دارن. اما آیا در وب هم کاربرد دارن؟ صد در صد بله و چند موردشو با هم مثال میزنیم ⬇️

1. مدیریت محتوا (CMS) : میتونیم با استفاده از سرچ الگوریتم برای جستجو مطالب، صفحات و فایل های موجود در سیستم استفاده کنیم.

2. پشتیبانی : میتونه برای جستجو تیکت ها، سوالات متداول و اطلاعات مرتبط استفاده بشه.

3. جستجو پیشرفته : احتملا دیدید که برخی از وبسایت ها، امکانات پیشرفته‌ای برای جستجو رو برای کاربران فراهم میکنن. این کار با استفاده از الگوریتم جستجو انجام میشه.

به صورت کلی سرچ الگوريتم کابرد های زیادی داره، که یکی از بزرگترین مثال هاش گوگل مپ هست.

برای پیاده سازی جستجو دودویی یا خطی با زبان های مختلف مثل (js، ts، golang) میتونید به این ریپازیتوری مراجعه کنید.

همچنین برای درک بهتر و نحوه کار کردن الگوریتم های جستجو، مقالات زیر رو پیشنهاد میکنم :

- Article
- Article
- Article

#algorithm #search_algorithm
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥3
الگوریتم انتخاب چیست؟ 👽

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

این الگوریتم چطور کار میکنه؟ 🦠

الگوریتم‌های انتخاب به‌طور مؤثر k‌امین کوچک‌ترین (یا بزرگترین) عنصر رو در مجموعه‌ای از داده‌های نامرتب پیدا میکنه. برخلاف الگوریتم‌های مرتب‌سازی که کل مجموعه رو مرتب میکنه، الگوریتم‌های انتخاب بر یافتن یک عنصر خاص تمرکز میکنه. به عنوان مثال لیستی رو در نظر بگیرید که میخوایم با استفاده از الگوریتم انتخاب کوچیکترین(بزرگترین) مقدارش رو پیدا کنیم. این الگوریتم به این صورت کار میکنه:

‏1. Initialization: با انتخاب یک عنصر اولیه از داده ها شروع می کنیم. این عنصر میتونه هر عنصری در مجموعه باشه.

2. حلقه مقایسه: حلقه ای رو وارد می کنیم که از طریق داده های باقی مانده تکرار میشه. در هر تکرار، عنصر فعلی رو با عنصر اولیه (یا نامزد فعلی برای kامین کوچکترین/بزرگترین) مقایسه میکنه.

3. به روزرسانی کاندید: * اگه عنصر فعلی کوچکتر (برای کوچکترین) یا بزرگتر (برای بزرگترین) از عنصر کاندید باشه، نامزد رو به روز می کنیم. به این معنا که عنصر فعلی کاندیدای بهتری برای kامین کوچکترین/بزرگترین موقعیت میشه.
* اگه عنصر فعلی برابر با نامزد باشه، رفتار خاص به الگوریتم انتخاب بستگی داره. برخی از الگوریتم‌ها ممکن هست با اونها به طور مساوی رفتار کنن، در حالی که برخی دیگر ممکن است مکانیزمی برای قطع رابطه داشته باشن.

4. تکرار: مراحل 2 و 3 تکرار میشه تا زمانی که تمام عناصر مجموعه با نامزد مقایسه بشن.

5. نتیجه: پس از بررسی همه عناصر، عنصر نامزد نهایی به kامین کوچکترین (یا بزرگترین) مقدار در مجموعه تبدیل میشه.

برای درک بهتر، این گیف به بهترین شکل نحوه کار کرد رو نشون میده.

به صورت کلی الگوریتم های انتخاب یک رویکرد هدفمند برای استخراج عناصر خاص از داده های مرتب نشده ارائه میدن. قدرت اونها در بازیابی kامین کوچکترین/بزرگترین عنصر بدون مرتب سازی کل مجموعه نهفته هست. این باعث میشه اون ها رو برای کارهایی مثل یافتن مقادیر حداقل، حداکثر یا میانه در مجموعه داده های مرتب نشده کارآمد باشن.

برای کسب اطلاعات بیشتر مقالات زیر رو بخونید 👇🏻
- Article
- Article
- Article
نحوه پیاده سازی این الگوریتم در js

#algorithm
@CodeModule
🔥132