Algorithm design & data structure
6.59K subscribers
880 photos
141 videos
174 files
479 links
این کانال برای تمامی علاقه‌مندان به کامپیوتر، مخصوصاً حوزه ساختمان داده‌ها و الگوریتم‌ها، مفید می باشد. آشنایی با ریاضیات مقدماتی، برنامه‌نویسی مقدماتی و پیشرفته و همچنین شی‌گرایی می‌تواند در درک بهتر مفاهیم این درس کمک‌ کند.

👨‍💻Admin👉 @Se_mohamad
Download Telegram
یه شبکه عصبی فوق‌العاده منتشر شده که می‌تونه هر ویدیویی رو به حد کمال برسونه! 😍🔥
با EvTexture دیگه نگران ویدیوهای تار و بی‌کیفیت نباشید، چون به راحتی می‌تونید اون‌ها رو دوباره زنده کنید! 🎥
و مهم‌تر از همه، کاملاً رایگانه! 🎉

🔗https://github.com/DachunKai/EvTexture

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2
آموزش برنامه‌نویسی، ساختارهای داده و الگوریتم‌ها با پایتون
⌛️ مدت دوره: ۶ هفته
👨‍🏫 تعداد جلسات: ۴۵ جلسه

💻📚

🔗 Link to course

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2🙏1
ربات خانگی NEO 🦾

شما در حال مشاهده یک ربات واقعی هستید — NEO برای انجام تمامی کارهای خانگی طراحی شده است.

قابلیت‌ها:
- کمک در تخلیه خریدهای روزانه 🛒
- شستشوی ظروف 🍽
- پخت و پز و دوباره شستشوی ظروف 🍲

این ربات هر کاری که بخواهید برایتان انجام می‌دهد!

📏 مشخصات فنی:
- قد: ۱.۶۵ متر
- وزن: ۳۰ کیلوگرم
- سرعت راه رفتن: ۴ کیلومتر در ساعت 🚶‍♂️
- سرعت دویدن: ۱۲ کیلومتر در ساعت 🏃‍♂️
- ظرفیت حمل بار: ۲۰ کیلوگرم 📦

تاریخ شروع تولید انبوه و قیمت‌ها هنوز اعلام نشده است.

نکته جالب: صحنه‌هایی از فیلم "I Robot" بلافاصله به ذهن می‌آیند... 🤖🎥

Source

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
دوره رایگان «مقدمه‌ای بر علم داده» از دانشگاه هاروارد! 🌟

این دوره برای همه آزاد است و شامل موارد زیر می‌شود:

1. 📚 جزوه‌های درسی
2. 💻 کدهای R و نوت‌بوک‌های پایتون
3. 🧪 مطالب آزمایشگاهی
4. 📈 بخش‌های پیشرفته

🔗 لینک یادگیری: [https://harvard-iacs.github.io/2019-CS109A/pages/syllabus.html]

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
درخت سیاه و قرمز 🌳❤️🖤 یک نوع درخت دودویی جستجو (Binary Search Tree) است که به‌طور خاص برای حفظ تعادل درخت طراحی شده است. این تعادل به بهینه‌سازی عملیات‌هایی مثل جستجو، درج، و حذف کمک می‌کند و زمان انجام این عملیات‌ها را به O(log n) می‌رساند.

ویژگی‌های درخت سیاه و قرمز:
1. گره‌ها یا سیاه هستند یا قرمز 🟥⬛️: هر گره در این درخت یکی از این دو رنگ را دارد.

2. ریشه همیشه سیاه است 🖤: گره ریشه (Root) همیشه به رنگ سیاه است.

3. هر گره قرمز باید دو فرزند سیاه داشته باشد 👶⬛️👶: دو گره قرمز نباید پشت سر هم در یک مسیر قرار بگیرند.

4. تعداد گره‌های سیاه در هر مسیر باید برابر باشد ➡️⬛️⬛️⬛️: این ویژگی به تعادل درخت کمک می‌کند.

عملیات‌های اصلی در درخت سیاه و قرمز:

1. درج (Insertion) : گره جدید ابتدا مانند یک درخت دودویی معمولی درج می‌شود، اما بعداً ممکن است نیاز به چرخش‌ها (Rotations) و تغییر رنگ‌ها 🌀🎨 باشد تا قوانین درخت حفظ شوند.

2. حذف (Deletion) : بعد از حذف یک گره، ممکن است نیاز به چرخش‌ها و تغییر رنگ‌ها باشد تا درخت همچنان متعادل 🏗 باقی بماند.

3. چرخش‌ها (Rotations) 🔄: چرخش‌های چپ و راست برای بازگرداندن تعادل درخت در صورت نقض قوانین استفاده می‌شوند.

مزایای درخت سیاه و قرمز:
- حفظ تعادل ⚖️: این درخت تضمین می‌کند که همواره تقریباً متوازن باشد، بنابراین ارتفاع درخت O(log n) باقی می‌ماند.
- کارایی 🚀: به دلیل تعادل درخت، عملیات‌هایی مانند جستجو، درج، و حذف با کارایی بالا انجام می‌شوند.

درخت سیاه و قرمز در بسیاری از برنامه‌های کامپیوتری کاربرد دارد، به‌ویژه در ساختارهای داده‌ای مثل جداول هش، نقشه‌ها (Maps) و مجموعه‌ها (Sets) که نیاز به دسترسی سریع دارند. 📊🔍

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5👌1
🎉 ربات تلگرام ChatGPT: GPT-4o 🎉


🚀 ویژگی‌های برجسته:

- سرعت بالا ⚡️
- بدون محدودیت روزانه

🗣 پشتیبانی از چت گروهی
با دستور /help_group_chat می‌توانید راهنمای کامل استفاده در گروه‌ها را دریافت کنید.

🎤 شناسایی پیام‌های صوتی
دیگر نگران تایپ پیام‌های طولانی نباشید! پیام صوتی خود را ارسال کنید و متن آن را دریافت کنید.

💻 برجسته‌سازی کد
به‌راحتی کدهای خود را با کمک هوش مصنوعی نوشته و مدیریت کنید.


💡 ۱۵ حالت چت ویژه:

1. 👩🏼‍🎓 دستیار شخصی
2. 👩🏼‍💻 دستیار کدنویسی
3. 👩‍🎨 هنرمند خلاق
4. 🧠 روانشناس
5. 🚀 ایلان ماسک
6. ... و بسیاری دیگر!

https://t.me/happysamsonbot

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
پیکسات-سیگما (Pixart-Sigma)🎨، اولین و پیشرفته‌ترین training framework 🚀 مبتنی بر transformer است که برای تولید تصاویر با کیفیت بالا 🌟 طراحی شده. این چارچوب نوآورانه 🛠، استانداردهای جدیدی رو در دنیای image generation 📸 تعیین می‌کنه و از تکنولوژی‌های پیشرفته برای خلق تصاویر دقیق و واقعی 🎨 بهره می‌بره.

Github: https://github.com/PixArt-alpha/PixArt-sigma

🔥Demo: https://huggingface.co/spaces/PixArt-alpha/PixArt-Sigma

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4
برای افرادی که می‌خواهند مهارت‌های خود را در تحلیل پیچیدگی زمانی و درک Big O Notation تقویت کنند، وب‌سایت 101 Computing یک منبع عالی است! 🌟 در این سایت، شما می‌توانید از کوییزهای جذاب و مفیدی بهره‌مند شوید که به شما کمک می‌کند تا با مفاهیم پیچیدگی زمانی به صورت عملی آشنا شوید. 📚🧩

site:https://www.101computing.net/big-o-notation-quiz/

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌6
شار (جریان) بیشینه یا ماکزیمم فلو (💧Maximum Flow) یکی از مسائل کلاسیک در زمینه نظریه گراف‌ها (📊) و به‌ویژه در بهینه‌سازی شبکه‌ها (🔗) است. این مسئله در بسیاری از کاربردها، مانند شبکه‌های حمل‌ونقل (🚗🛤)، ارتباطات (📡📞)، تخصیص منابع (💼), و غیره، مورد استفاده قرار می‌گیرد.

تعریف مسئله ماکزیمم فلو:
فرض کنید یک شبکه به صورت یک گراف جهت‌دار (🔄) داریم که از مجموعه‌ای از رأس‌ها (🔹نودها) و یال‌ها (↔️) تشکیل شده است. این گراف دارای دو رأس خاص به نام‌های مبدأ (🔵source) و مقصد (🔴sink) است. هر یال در این گراف دارای یک ظرفیت است که نشان‌دهنده حداکثر جریان (⬆️فلو) قابل عبور از آن یال می‌باشد.

هدف از مسئله ماکزیمم فلو این است که حداکثر مقدار جریانی که می‌تواند از مبدأ به مقصد در این شبکه منتقل شود را محاسبه کنیم، به طوری که جریان در هیچ یک از یال‌ها از ظرفیت آن یال تجاوز نکند ().

قوانین جریان:
1. محدودیت ظرفیت (🚫): جریان عبوری از هر یال نباید از ظرفیت آن یال بیشتر شود.
2. محافظه جریان (🔄): در هر رأس، مجموع جریان ورودی برابر با مجموع جریان خروجی است، مگر در رأس‌های مبدأ و مقصد.

روش‌های حل:
چندین الگوریتم برای حل مسئله ماکزیمم فلو وجود دارد که از جمله معروف‌ترین آن‌ها می‌توان به موارد زیر اشاره کرد:

1. الگوریتم فورد-فولکرسون (📈Ford-Fulkerson):
این الگوریتم یک روش افزایشی (📊incremental) است که به صورت تکراری، مسیرهای افزایشی (📉augmenting paths) در گراف را پیدا می‌کند و مقدار جریان را افزایش می‌دهد تا جایی که دیگر مسیر افزایشی وجود نداشته باشد.

2. الگوریتم ادموندز-کارپ (📊Edmonds-Karp):
این الگوریتم نسخه‌ای از الگوریتم فورد-فولکرسون است که از جستجوی اول سطح (🔍BFS) برای پیدا کردن مسیرهای افزایشی استفاده می‌کند. این روش تضمین می‌کند که مسئله در زمان چندجمله‌ای (⌛️polynomial time) حل شود.

3. الگوریتم پویش سطحی داینامیک (⚙️Dinic’s Algorithm):
یک الگوریتم پیشرفته‌تر است که بر اساس مفهوم بلوکه کردن جریان‌ها (🚧blocking flows) عمل می‌کند و معمولاً سریع‌تر از الگوریتم ادموندز-کارپ است.

کاربردها:
مسئله ماکزیمم فلو کاربردهای فراوانی دارد، از جمله:
- شبکه‌های حمل‌ونقل (🚚🚆): محاسبه حداکثر ظرفیت جابجایی در یک شبکه جاده‌ای یا ریلی.
- شبکه‌های ارتباطات (🌐): تعیین ظرفیت انتقال داده‌ها در شبکه‌های کامپیوتری یا مخابراتی.
- مدیریت منابع آب (💧): محاسبه جریان حداکثری که می‌تواند از یک سیستم رودخانه‌ای عبور کند بدون اینکه باعث سیلاب شود (🌊).

به طور کلی، ماکزیمم فلو یک ابزار بسیار قدرتمند (🔧) در تحلیل و بهینه‌سازی شبکه‌های مختلف است و در حل مسائل پیچیده به کار می‌رود.

برای درک بهتر میتوانید با استفاده از لینک زیر با مثال به درک بهتری از این الگوریتم برسید:
https://isabek.github.io/

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5
در ساختمان داده، هیپ نوعی ساختار داده درختی است که به عنوان یک درخت دودویی کامل (Complete Binary Tree) سازماندهی می‌شود. در این درخت، هر سطح (به‌جز سطح آخر) کاملاً پر شده و گره‌ها به سمت چپ تراز شده‌اند. هیپ به دو نوع اصلی تقسیم می‌شود:

1. Max-Heap (ماکس-هیپ)⬆️
در Max-Heap، مقدار هر گره بزرگتر یا مساوی مقدار فرزندانش است. یعنی، بزرگترین مقدار همیشه در ریشه درخت قرار می‌گیرد. این نوع هیپ برای استخراج حداکثر (extract-max) بسیار کارآمد است.

2. Min-Heap (مین-هیپ)
⬇️
در Min-Heap، مقدار هر گره کوچکتر یا مساوی مقدار فرزندانش است. یعنی، کوچکترین مقدار در ریشه قرار دارد. این نوع هیپ برای استخراج حداقل (extract-min) مناسب است.

ویژگی‌های کلیدی هیپ 🌳
- درخت دودویی کامل: هیپ همیشه یک درخت دودویی کامل است، یعنی هر سطح (به‌جز آخرین سطح) به‌طور کامل پر شده است.
- خاصیت هیپ: در Max-Heap مقدار هر گره بزرگتر یا مساوی فرزندانش و در Min-Heap مقدار هر گره کوچکتر یا مساوی فرزندانش است.


عملیات‌های اصلی هیپ 🔄
1. افزودن عنصر (Insert) : افزودن یک عنصر جدید به هیپ با قرار دادن آن در اولین جای خالی و سپس "heapify" از پایین به بالا.
2. استخراج حداکثر/حداقل (Extract Max/Min) : حذف عنصر ریشه و جایگزینی آن با آخرین عنصر درخت و سپس "heapify" از بالا به پایین.
3. ایجاد هیپ (Build Heap) 🛠: ساختن هیپ از یک آرایه با استفاده از روش "heapify" برای هر زیر درخت.

کاربردهای هیپ 📚
- الگوریتم‌های مرتب‌سازی: مانند Heap Sort که از خاصیت هیپ برای مرتب‌سازی استفاده می‌کند.
- ساختارهای داده اولویت‌دار: مانند Priority Queue که از هیپ برای مدیریت صف با اولویت استفاده می‌کند.
- مدیریت منابع سیستم: برای تخصیص حافظه و مدیریت فرآیندها در سیستم‌های عامل.

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

هیپ یکی از ساختارهای داده پرکاربرد است که در الگوریتم‌ها و سیستم‌های کامپیوتری به‌طور گسترده‌ای استفاده می‌شود.

#الگوریتم
📣👨‍💻@AlgorithmDesign_DataStructuer
👍2
Mathematical Methods in Data Science.pdf
7.7 MB
این کتاب با عنوان "Mathematical Methods in Data Science" نوشته Jingli Ren و **Haiyan Wang**، به بررسی روش‌های ریاضیاتی مورد استفاده در علوم داده می‌پردازد. 📊 این کتاب برای علاقه‌مندان به داده‌کاوی، تحلیل داده‌ها و کاربردهای ریاضیات در علم داده‌ها بسیار مناسب است و ابزارهای ضروری برای درک و اعمال تکنیک‌های پیچیده ریاضی را در اختیار خوانندگان قرار می‌دهد. با مطالعه این کتاب، می‌توانید توانایی‌های خود را در زمینه‌هایی مانند مدل‌سازی، بهینه‌سازی و تحلیل‌های آماری بهبود بخشید. 📚

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
3 Recursive Algorithms_2.pdf
358.4 KB
1. الگوریتم‌های بازگشتی (Recursive Algorithms): این الگوریتم‌ها با تقسیم یک مسئله به نسخه‌های کوچکتر و ساده‌تر از همان مسئله، کار می‌کنند. در نهایت، با رسیدن به یک شرط پایه، مسئله حل می‌شود و نتایج به‌دست‌آمده به‌صورت معکوس ترکیب می‌شوند تا جواب نهایی محاسبه شود. 🌱

2. معادلات بازگشتی (Recurrence Equations): این معادلات برای توصیف زمان اجرای الگوریتم‌های بازگشتی به‌کار می‌روند. معادله بازگشتی نشان می‌دهد که چگونه زمان اجرای یک الگوریتم بازگشتی به زمان اجرای نسخه‌های کوچکتر آن وابسته است. 📐

3. تکنیک تقسیم و غلبه (Divide-and-Conquer Technique): این تکنیک یکی از مشهورترین استراتژی‌های حل مسئله است. در این روش، مسئله به بخش‌های کوچکتر تقسیم می‌شود، هر بخش به‌طور جداگانه حل می‌شود، و سپس نتایج ترکیب می‌شوند تا جواب نهایی به‌دست آید. الگوریتم‌هایی مانند مرج سورت (Merge Sort) و کوئیک سورت (Quick Sort) نمونه‌های خوبی از این تکنیک هستند. ⚔️

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5🙏1
❤️ یک کاربرد واقعاً مفید از شبکه‌های عصبی

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

در واقع AINU از یک شبکه عصبی فوق‌العاده دقیق برای تجزیه و تحلیل تصاویری که از طریق میکروسکوپی STORM به دست آمده‌اند، استفاده می‌کند که وضوح "نانو" ارائه می‌دهد.

این هوش مصنوعی می‌تواند تغییرات ساختاری در سلول‌ها را به کوچکی ۲۰ نانومتر تشخیص دهد، که ۵۰۰۰ برابر کوچکتر از عرض یک تار موی انسان است.

همچنین توانست ویروس هرپس را تنها یک ساعت پس از عفونت با مشاهده تغییرات در DNA شناسایی کند.

این شبکه عصبی همچنین می‌تواند سلول‌های بنیادی را با دقت شناسایی کند، که ممکن است تحقیقات در این زمینه را بدون نیاز به آزمایش روی حیوانات تسریع بخشد.

اگرچه کاربرد بالینی ممکن است هنوز سال‌ها فاصله داشته باشد، اما پیشرفت‌هایی مانند AINU در حوزه سلامت در حال تسریع هستند.

AI spots cancer and viral infections with nanoscale precision

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5🔥3
نمونه سوال طراحی الگوریتم.rar
4 MB
نمونه سوالات جامع آزمون طراحی الگوریتم برای آمادگی کامل شما! این سوالات به شما کمک می‌کنند تا با مباحث مختلف آشنا شوید و در امتحان با اطمینان بیشتری حاضر شوید. 📝💻

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
🙏2
مقاله "All Points Matter" یک روش برای تقسیم‌بندی سه‌بعدی با نظارت ضعیف پیشنهاد می‌دهد که از تنظیم آنتروپی برای بهبود استفاده از داده‌های بدون برچسب بهره می‌گیرد. این کار باعث کاهش عدم قطعیت و تراز بهتر داده‌ها می‌شود و عملکرد مدل را ارتقا می‌دهد. 🚀📊

Github: https://github.com/LiyaoTang/ERDA

📕 Paper: https://arxiv.org/abs/2408.16520v1

🚀 Dataset: https://paperswithcode.com/dataset/cityscapes

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2