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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
انواع گراف‌ها (Types of Graphs) 🌐

1. گراف بدون جهت (Undirected): گرافی که در آن یال‌ها جهت ندارند و ارتباط بین رئوس دوطرفه است. 🔄

2. گراف جهت‌دار (Directed): گرافی که در آن یال‌ها دارای جهت هستند و ارتباط بین رئوس یک‌طرفه است. ➡️

3. گراف پراکنده (Sparse): گرافی که تعداد یال‌های آن نسبت به تعداد رئوس کم است. 🌱

4. گراف متراکم (Dense): گرافی که تعداد یال‌های آن نسبت به تعداد رئوس زیاد است. 🌳

5. گراف بدون وزن (Unweighted): گرافی که در آن یال‌ها دارای وزن یا مقدار عددی نیستند. ⚖️

6. گراف وزن‌دار (Weighted): گرافی که در آن یال‌ها دارای وزن یا مقدار عددی هستند که معمولاً نشان‌دهنده هزینه، فاصله یا زمان است. 💰

7. گراف بدون چرخه (Acyclic): گرافی که در آن هیچ چرخه‌ای وجود ندارد، یعنی نمی‌توان از یک راس شروع کرده و به همان راس بازگشت. 🚫🔄

8. گراف چرخه‌ای (Cyclic): گرافی که در آن یک یا چند چرخه وجود دارد، یعنی می‌توان از یک راس شروع کرده و به همان راس بازگشت. 🔄

9. گراف ساده (Simple): گرافی که در آن بین هر دو راس حداکثر یک یال وجود دارد و هیچ یالی به خود راس متصل نیست. ✔️

10. گراف غیرساده (Non-simple): گرافی که ممکن است یال‌های چندگانه بین دو راس وجود داشته باشد یا یال‌هایی که به خود راس متصل هستند.

11. گراف بدون برچسب (Unlabeled): گرافی که در آن رئوس و یال‌ها بدون نام یا برچسب هستند. 🏷

12. گراف برچسب‌دار (Labeled): گرافی که در آن رئوس و یال‌ها دارای نام یا برچسب هستند. 🏷✔️

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👍3
"مقدمه‌ای بر علم داده با پایتون"

این دوره برای مبتدیانی است که می‌خواهند پایه‌های یادگیری ماشین و هوش مصنوعی را بیاموزند.
اگر با پایتون آشنا هستید، این کلاس برای شماست! 🚀

موضوعات تحت پوشش:
تعمیم و بیش‌برازش
ساخت مدل، تنظیم و ارزیابی
رگرسیون خطی و لجستیک
الگوریتم k-نزدیک‌ترین همسایه
کار با Scikit-Learn، NumPy، Pandas و Matplotlib

Link: https://pll.harvard.edu/course/introduction-data-science-python

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
🔰 نقشه راه کاملData Structures And Algorithms 🔰

|-- Basic_Data_Structures 📚
| |-- Arrays 🗃
| |-- Strings 🔤
| |-- Linked_Lists 🔗
| |-- Stacks 📥
| └─ Queues 📤
|
|-- Advanced_Data_Structures 🚀
| |-- Trees 🌳
| | |-- Binary_Trees 🌲
| | |-- Binary_Search_Trees 🔍🌲
| | |-- AVL_Trees ⚖️🌲
| | └─ B-Trees 📂
| |
| |-- Graphs 📈
| | |-- Graph_Representation 🗺
| | | |- Adjacency_Matrix 🧮
| | | └ Adjacency_List 📋
| | |
| | |-- Depth-First_Search 🔎
| | |-- Breadth-First_Search 🔍
| | |-- Shortest_Path_Algorithms 🛣
| | | |- Dijkstra's_Algorithm 🚴‍♂️
| | | └ Bellman-Ford_Algorithm 🚗
| | |
| | └─ Minimum_Spanning_Tree 🌐
| | |- Prim's_Algorithm 🌉
| | └ Kruskal's_Algorithm 🕸
| |
| |-- Heaps 🔥
| | |-- Min_Heap 📉
| | |-- Max_Heap 📈
| | └─ Heap_Sort 🌀
| |
| |-- Hash_Tables 🔢
| |-- Disjoint_Set_Union 🔀
| |-- Trie 🌐
| |-- Segment_Tree 📏
| └─ Fenwick_Tree 🌲
|
|-- Algorithmic_Paradigms 🎯
| |-- Brute_Force 💪
| |-- Divide_and_Conquer ⚔️
| |-- Greedy_Algorithms 🤑
| |-- Dynamic_Programming 📈
| |-- Backtracking 🔄
| |-- Sliding_Window_Technique 🪟
| |-- Two_Pointer_Technique ☝️✌️
| └─ Divide_and_Conquer_Optimization 🚀
| |-- Merge_Sort_Tree 🌲🔀
| └─ Persistent_Segment_Tree 🕒🌳
|
|-- Searching_Algorithms 🔎
| |-- Linear_Search 📏
| |-- Binary_Search ⚖️
| |-- Depth-First_Search 🔍
| └─ Breadth-First_Search 🔎
|
|-- Sorting_Algorithms 🔢
| |-- Bubble_Sort 🫧
| |-- Selection_Sort 🎯
| |-- Insertion_Sort 📥
| |-- Merge_Sort 🔀
| |-- Quick_Sort ⚡️
| └─ Heap_Sort 🌀
|
|-- Graph_Algorithms 🌐
| |-- Depth-First_Search 🔍
| |-- Breadth-First_Search 🔎
| |-- Topological_Sort 🗺
| |-- Strongly_Connected_Components 🔗
| └─ Articulation_Points_and_Bridges 🌉
|
|-- Dynamic_Programming 📊
| |-- Introduction_to_DP 📚
| |-- Fibonacci_Series_using_DP 🐚
| |-- Longest_Common_Subsequence 📏
| |-- Longest_Increasing_Subsequence 📈
| |-- Knapsack_Problem 🎒
| |-- Matrix_Chain_Multiplication 🧮
| └─ Dynamic_Programming_on_Trees 🌲📊
|
|-- Mathematical_and_Bit_Manipulation_Algorithms 🔢
| |-- Prime_Numbers_and_Sieve_of_Eratosthenes 🧮
| |-- Greatest_Common_Divisor 📐
| |-- Least_Common_Multiple 🔗
| |-- Modular_Arithmetic ♻️
| └─ Bit_Manipulation_Tricks 💡
|
|-- Advanced_Topics 🎓
| |-- Trie-based_Algorithms 🌳
| | |-- Auto-completion ✍️
| | └─ Spell_Checker ✔️
| |
| |-- Suffix_Trees_and_Arrays 🌲📝
| |-- Computational_Geometry 📐
| |-- Number_Theory 🔢
| | |-- Euler's_Totient_Function ⚙️
| | └─ Mobius_Function 🔄
| |
| └─ String_Algorithms 🔠
| |-- KMP_Algorithm 🔍
| └─ Rabin-Karp_Algorithm 🧮
|
|-- OnlinePlatforms 🌐
| |-- LeetCode 🐱💻
| |-- HackerRank 🏆

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👌7👍1
This media is not supported in your browser
VIEW IN TELEGRAM
سیستم هوش مصنوعی ایلان ماسک به نام Grok یک ویدیوی دیپ‌فیک بسیار واقعی تولید کرده است که در آن ایلان ماسک، دونالد ترامپ و دیگران در حال ارتکاب سرقت مسلحانه نشان داده می‌شوند. این کلیپ که برای تفریح ساخته شده، بحث‌های زیادی در مورد اخلاق و تأثیرات آینده محتوای تولید شده توسط هوش مصنوعی به وجود آورده است.

#هوش_مصنوعی
📣👨‍💻 @AlgorithmDesign_DataStructuer
4
الگوریتم حریصانه: "نقد را بچسب، نسیه را رها کن"

الگوریتم حریصانه (Greedy Algorithm) یک روش حل مسئله است که در آن تصمیم‌گیری‌ها بر اساس انتخاب‌های بهینه در هر مرحله انجام می‌شود 📈، بدون توجه به اینکه این انتخاب‌ها ممکن است در آینده تأثیر منفی داشته باشند 🤔. هدف اصلی الگوریتم حریصانه این است که در هر مرحله، بهترین گزینه را انتخاب کند تا به یک راه‌حل کلی برسد 🛠. این روش شبیه به ضرب‌المثل "نقد را بچسب، نسیه را رها کن" است که نشان می‌دهد بهینه‌سازی‌های محلی در هر مرحله ممکن است در نهایت به بهترین راه‌حل نرسند.

اصول الگوریتم حریصانه:
1. ساختار حریصانه: در هر مرحله، بهترین انتخاب ممکن انجام می‌شود 🥇.
2. گزینه‌های محلی بهینه: هر انتخاب در لحظه‌ای که تصمیم گرفته می‌شود، باید بهینه باشد 🧠.
3. بدون بازنگری: انتخاب‌های انجام‌شده در مراحل قبل، در مراحل بعدی تغییر نمی‌کنند 🚫🔄.

مثال:
یکی از معروف‌ترین مثال‌های الگوریتم حریصانه، مسئله‌ی خرد کردن سکه است 💰. فرض کنید می‌خواهید یک مقدار پول مشخص را با استفاده از کمترین تعداد سکه ممکن پرداخت کنید. الگوریتم حریصانه این‌گونه عمل می‌کند که ابتدا بزرگ‌ترین سکه ممکن را انتخاب کرده و سپس باقیمانده پول را با سکه‌های کوچک‌تر پرداخت می‌کند 🪙.

کاربردها:
- مسئله‌ی کوله‌پشتی (Knapsack Problem) - نسخه‌ای که اقلام را می‌توان به صورت تکه‌ای برد، با استفاده از الگوریتم حریصانه حل می‌شود 🎒.
- کدگذاری هافمن (Huffman Coding) - برای فشرده‌سازی داده‌ها 📦.
- پیدا کردن درخت پوشای کمینه (Minimum Spanning Tree) - با استفاده از الگوریتم‌های Prim و Kruskal 🌳.

مزایا:
- سادگی: این الگوریتم‌ها اغلب ساده و سرراست هستند 🟢.
- کارایی: برای بسیاری از مسائل، الگوریتم‌های حریصانه بسیار کارا هستند ⚡️.

معایب:
- بهینه نبودن در همه موارد: الگوریتم‌های حریصانه همیشه به بهترین راه‌حل کلی نمی‌رسند 🚧. آن‌ها ممکن است در جستجوی یک راه‌حل بهینه به دام بیفتند 🔍.

به طور خلاصه، الگوریتم‌های حریصانه برای مسائل خاص که دارای ساختار مناسب هستند، بسیار مفید و کارا هستند، اما همیشه تضمین نمی‌کنند که بهترین پاسخ را ارائه دهند 🎯.

#الگوریتم
📣👨‍💻 @AlgorithmDesign_DataStructuer
👏4👍2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
مقدمه‌سازی درست پارامترها می‌تواند بهبود چشمگیری در سرعت و دقت آموزش شبکه‌های عصبی عمیق ایجاد کند. با استفاده از روش‌های مناسب، این نکات را برای دستیابی به نتایج بهتر به کار بگیرید.
📊🤖💡

https://www.deeplearning.ai/ai-notes/initialization/index.html

#هوش_مصنوعی

📣👨‍💻 @AlgorithmDesign_DataStructuer
یه شبکه عصبی فوق‌العاده منتشر شده که می‌تونه هر ویدیویی رو به حد کمال برسونه! 😍🔥
با 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