uk
Feedback
Algorithm design & data structureچ

Algorithm design & data structureچ

Відкрити в Telegram

این کانال برای تمامی علاقه‌مندان به کامپیوتر، مخصوصاً حوزه ساختمان داده‌ها و الگوریتم‌ها، مفید می باشد. آشنایی با ریاضیات مقدماتی، برنامه‌نویسی مقدماتی و پیشرفته و همچنین شی‌گرایی می‌تواند در درک بهتر مفاهیم این درس کمک‌ کند. 👨‍💻Admin👉 @Se_mohamad

Показати більше
6 458
Підписники
-124 години
-117 днів
-4530 днів
Архів дописів
🌟 هیپ فیبونانچی (Fibonacci Heap) چیست؟ 🌟 هیپ فیبونانچی یک ساختار داده‌ای پیشرفته برای پیاده‌سازی صف‌های اولویت‌دار است که ت
🌟 هیپ فیبونانچی (Fibonacci Heap) چیست؟ 🌟 هیپ فیبونانچی یک ساختار داده‌ای پیشرفته برای پیاده‌سازی صف‌های اولویت‌دار است که توسط مایکل فردمن و رابرت تارجان معرفی شده است. این ساختار داده‌ای به دلیل کارایی بالا در برخی عملیات‌ها مانند کاهش کلید (decrease-key) و ادغام (merge) بسیار مورد توجه قرار گرفته است. 🔹 ویژگی‌ها: - ساختار درختی غیر دودویی - عملکرد سریع در ادغام و دسترسی به حداقل - مناسب برای الگوریتم‌های گراف مانند دایکسترا و MST 🔹 عملیات‌ها: - ایجاد هیپ خالی: O(1) - درج یک عنصر: O(1) - یافتن حداقل: O(1) - استخراج حداقل: O(log n) - کاهش کلید: O(1) - حذف عنصر: O(log n) این ساختار به ویژه در مسائلی که نیاز به ادغام مکرر و کاهش کلید دارند، بسیار کارآمد است. 🌳✨ . #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

📘 معرفی کتاب: "جبر خطی" مولفان: دکتر محمد حسن بیژن‌زاده، دکتر شهریار فرهمندار و دیگران سال نشر: 1389 ✨ این کتاب در زمینه جبر خطی، مباحث بنیادی و پیشرفته را به طور جامع و دقیق پوشش می‌دهد. اگر به دنبال درک عمیق‌تری از جبر خطی و کاربردهای آن در ریاضیات و علوم مهندسی هستید، این کتاب منبع بسیار مفیدی خواهد بود. 🔍 ویژگی‌های کلیدی: - ساختار منظم و واضح که به یادگیری بهتر کمک می‌کند. - تمرینات عملی برای تسلط بر مفاهیم. - مناسب برای دانشجویان و پژوهشگران در رشته‌های مختلف. 📚 با مطالعه این کتاب، به دنیای جبر خطی و کاربردهای آن در علوم مختلف وارد شوید و دانش خود را گسترش دهید! #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

def binary_search(arr, target):
    left = 0
    right = len(arr) - 1

    while left <= right:
        mid = (left + right) // 2

        
        if arr[mid] == target:
            return mid  
        elif arr[mid] < target:
            left = mid + 1  
        else:
            right = mid - 1  

    return -1  


arr = [1, 3, 5, 7, 9, 11, 13, 15]
target = 7
index = binary_search(arr, target)

if index != -1:
    print(f"عنصر {target} در ایندکس {index} یافت شد.")
else:
    print(f"عنصر {target} یافت نشد.")
📚 جستجوی دودویی به صورت غیر بازگشتی 🔍 جستجوی دودویی (Binary Search) یکی از الگوریتم‌های محبوب برای پیدا کردن یک عنصر در یک آرایه مرتب شده است. این الگوریتم با استفاده از تقسیم و تسخیر (Divide and Conquer) و به صورت غیر بازگشتی، می‌تواند به سرعت موقعیت هدف را پیدا کند. #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

توضیحات تکمیلی درباره معماری ترانسفورمر(Transformer Architecture) 🤖✨ جلسه‌ای که در معاونت آموزشی جهاد دانشگاهی برگزار شده، بسیار مفید و جامع بوده است. این جلسه به بررسی جزئیات معماری ترانسفورمر پرداخته و کاربردهای آن در زمینه‌های مختلف مانند پردازش زبان طبیعی (NLP) و یادگیری ماشین را توضیح می‌دهد. توصیه می‌کنم حتماً این جلسه را ببینید تا با آخرین دستاوردهای این حوزه آشنا شوید. #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

اسلایدهای تدریس شده درس ساختمان داده در دانشگاه صنعتی همدان 📚🏫 #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

🔍 نگاهی به یادگیری عمیق در بینایی کامپیوتر 🔍 📚 در این پی دی اف، به بررسی یادگیری عمیق در بینایی ماشین می‌پردازیم. با مطالعه این فایل، می‌توانید با نحوه کارکرد شبکه‌های CNN آشنا شوید و مثالی از پیاده‌سازی کد روی دیتاست معروف MNIST را مشاهده کنید. ! #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

👨🏻‍💻 بالاخره یه نفر پیدا شد و یه وبسایت عالی مثل LeetCode برای الگوریتم‌های ماشین لرنینگ درست کرد که نتیجه‌اش فراتر از تصو
👨🏻‍💻 بالاخره یه نفر پیدا شد و یه وبسایت عالی مثل LeetCode برای الگوریتم‌های ماشین لرنینگ درست کرد که نتیجه‌اش فراتر از تصوراتتونه! 🌟 📄 وبسایت Deep-ML پر از تمرین‌های چالش‌برانگیز توی زمینه‌های مختلف مثل یادگیری ماشین 🤖، یادگیری عمیق 🧠 و جبر خطی 📐. از مسائل ساده مثل محاسبه‌ی ماتریس 🧮 تا تمرین‌های پیشرفته مثل پیاده‌سازی رگرسیون خطی 📉 و توابع فعال‌ساز ⚙️، همه رو اینجا پیدا می‌کنین. تمرین‌ها بر اساس سختی مرتب شدن؛ از آسون 🟢 تا سخت 🔴. هر تمرین هم راهنمایی‌ها و توضیحات لازم رو داره که اگه گیر کردین، کمکتون می‌کنه 💡. ⏪ با حل تمرین‌ها می‌تونین مهارت‌هاتون رو ارتقا بدین و پیشرفتتون رو دنبال کنین 📈. این وبسایت برای همه‌ی سطوح از مبتدی تا حرفه‌ای مناسبه و یه جای عالی برای یادگیری و تمرینه 📚. شروع کنید و مهارت‌هاتون رو به سطح بالاتری برسونید! 🚀 #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

☄️ دوره آنلاین متخصص ماشین لرنینگ با مدرک دانشگاه تهران ــــــــــــــــــــــــــــــــــــ ⁉️ چرا این دوره: ✔️ مدرک دو زبان
☄️ دوره آنلاین متخصص ماشین لرنینگ با مدرک دانشگاه تهران ــــــــــــــــــــــــــــــــــــ ⁉️ چرا این دوره: ✔️ مدرک دو زبانه از دانشگاه تهران ✔️ انجام، ۱۵ مینی پروژه و ۵ پروژه مستقل و یک پروژه جامع در طول دوره . ✔️ امکان استرداد شهریه ثبت نامی تا سقف 100% (در طرح نوین آموزشی 100) ✔️ پشتیبانی علمی ۲۴ ساعته ــــــــــــــــــــــــــــــــــــــ ⁉️ مخاطبین این دوره چه کسانی هستند؟ 🔸 دانشجویان و فارغ التحصیلان رشته های فنی و مهندسی 🔹 افرادی که قصد مهاجرت تحصیلی یا کاری دارند 🔸 شاغلین در حوزه هوش مصنوعی 🔹 مدیران ارشد و میانی سازمان ها 🔸 علاقمندان به حوزه هوش مصنوعی ــــــــــــــــــــــــــــــــــــــ 📎 جهت دریافت مشاوره رایگان و اطلاعات تکمیلی؛ از طریق لینک زیر اقدام نمایید 👉 httb.ir/MT3iw ــــــــــــــــــــــــــــــــــــ 02188905269 @onacademy

🎓 دانشگاه تهران دوره‌ای با عنوان مدل‌های ترنسفورمر و دیفیوژن برگزار می‌کند! این دوره در دانشکده ریاضی، آمار و علوم کامپیوتر دانشگاه تهران برگزار می‌شود و ثبت‌نام برای عموم رایگان است. 🚀 👨‍🏫 تحت هدایت سالار کلانتری، این دوره شما را با مفاهیم پیشرفته و کاربردی مدل‌های ترنسفورمر و دیفیوژن آشنا خواهد کرد. یک نکته بسیار هیجان‌انگیز این است که بعد از هر جلسه، ویدیوهای ضبط شده در یوتیوب قرار می‌گیرند، بنابراین هیچ بخشی از درس را از دست نخواهید داد! 🎥🌐 🔗 لینک به ویدیوهای ضبط شده 📋 برای شرکت در این دوره شگفت‌انگیز، فرم زیر را پر کنید و به دوستانتان نیز اطلاع دهید تا آن‌ها نیز از این فرصت طلایی بهره‌مند شوند: 🔗 فرم ثبت‌نام در دوره 🎉 با تشکر از دانشکده ریاضی، آمار و علوم کامپیوتر دانشگاه تهران برای این فرصت بی‌نظیر! 🌟 ⏳ فرصت را از دست ندهید و همین حالا ثبت‌نام کنید! 🌐📚 🔗 همچنین، لطفاً این اطلاعیه را با دوستان خود به اشتراک بگذارید تا آن‌ها نیز بتوانند از این دوره بهره‌مند شوند! 🤝📢 #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

🚀 رشد توابع یکی از مسائل مهم در ساختمان داده است. 📊 فایل پی‌دی‌اف پیوست با استفاده از حد، رشد برخی از توابع را اثبات می‌کند و نشان می‌دهد کدام توابع رشد بیشتری دارند. 🔍📈 #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

الگوریتم جستجوی هزینه یکنواخت (Uniform Cost Search - UCS). 🌐 🧩 چی هست UCS؟ الگوریتم UCS برای پیدا کردن کوتاه‌ترین مسیر در گراف‌ها استفاده میشه، جایی که هر لبه هزینه متفاوتی داره. 🛠 مراحل اجرای الگوریتم UCS: 1. شروع از گره مبدأ: الگوریتم از گره مبدأ با هزینه صفر شروع می‌کنه و اون رو به صف اولویت (Priority Queue) اضافه می‌کنه. 2. تکرار تا زمانی که صف اولویت خالی نباشه: - گره‌ای که کمترین هزینه رو داره از صف اولویت خارج می‌شه. - اگر این گره همون گره مقصد باشه، مسیر پیدا شده و الگوریتم خاتمه می‌یابد. - در غیر این صورت، تمام همسایه‌های این گره بررسی می‌شن و هزینه رسیدن به هر همسایه محاسبه می‌شه. 3. ادامه تا پیدا کردن مقصد: این مراحل تکرار می‌شن تا زمانی که به گره مقصد برسیم یا صف اولویت خالی بشه. 🔍 خصوصیات الگوریتم UCS: - کامل بودن: اگر مسیر به مقصد وجود داشته باشه، UCS حتماً اون رو پیدا می‌کنه. - بهینه بودن: UCS همیشه کوتاه‌ترین مسیر (کمترین هزینه) رو پیدا می‌کنه. #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

یه چیت‌شیت عالی برای یادگیری ماشین که مفاهیم کلیدی زیادی رو پوشش می‌ده! 🤖 این چیت‌شیت شامل موضوعات مهمی مثل نظریه بیز، مبادله بایاس و واریانس، تنظیم، دسته‌بندی داده‌های نامتوازن، انواع رگرسیون، ساختارهای داده، و شبکه‌های عصبی پیچشی می‌شه. 📚 همچنین نکات کاربردی برای مصاحبه‌های کاری رو هم ارائه می‌ده. با اینکه صفحاتش کم هستن، ولی پر از اطلاعات مفید و کاربردی هست. 🚀 #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

الگوریتم بلمن-فورد الگوریتم بلمن-فورد یک روش معروف برای پیدا کردن کوتاه‌ترین مسیرها در گراف‌های وزن‌دار است. برخلاف الگوریتم دیکسترا، بلمن-فورد می‌تواند وزن‌های منفی را مدیریت کند و حلقه‌های منفی را تشخیص دهد. نکات کلیدی: مقداردهی اولیه: شروع با فاصله بی‌نهایت برای همه رأس‌ها و صفر برای رأس مبدأ. به‌روزرسانی (Relaxation): در V-1 مرحله، همه یال‌ها بررسی و فاصله‌ها به‌روزرسانی می‌شوند. تشخیص حلقه‌های منفی: در پایان، بررسی مجدد یال‌ها برای تشخیص حلقه‌های منفی. کاربردها: - پیدا کردن کوتاه‌ترین مسیرها در گراف‌های وزن‌دار با وزن‌های منفی - تشخیص حلقه‌های منفی در گراف‌ها #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

🔹✨ دوره هوش مصنوعی با اسلایدهای ترجمه‌شده دانشگاه California, Berkeley در دانشگاه ایلام ✨🔹 👨‍🏫 مدرس: دکتر مظفر بگ محمدی دانشگاه ایلام با افتخار اسلایدهای دوره‌های هوش مصنوعی دانشگاه معتبر کالیفرنیا، برکلی را ترجمه و در دوره‌های آموزشی خود به کار گرفته است. این دوره‌ها توسط دکتر مظفر بگ محمدی، استاد برجسته دانشگاه ایلام، تدریس می‌شوند. 🔗 لینک آموزش هوش مصنوعی #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

🔹✨Divide and Conquer تقسیم و غلبه ✨🔹 روش Divide and Conquer (تقسیم و غلبه) یکی از تکنیک‌های اساسی و پرکاربرد در طراحی الگور
🔹✨Divide and Conquer تقسیم و غلبه ✨🔹 روش Divide and Conquer (تقسیم و غلبه) یکی از تکنیک‌های اساسی و پرکاربرد در طراحی الگوریتم‌ها و ساختمان داده‌ها است. این روش به حل مسائل پیچیده با تقسیم آنها به زیرمسائل کوچکتر و ساده‌تر می‌پردازد. فرآیند کلی این تکنیک به سه مرحله اصلی تقسیم می‌شود: 1. تقسیم (Divide): مسئله اصلی به چند زیرمسئله کوچکتر تقسیم می‌شود که همگی نسخه‌های کوچکتری از مسئله اصلی هستند. 2. غلبه (Conquer): هر یک از زیرمسائل به طور مستقل حل می‌شوند. اگر زیرمسائل به اندازه کافی کوچک باشند، به صورت مستقیم حل می‌شوند؛ در غیر این صورت، به طور بازگشتی به همان روش تقسیم می‌شوند. 3. ترکیب (Combine): نتایج حاصل از حل زیرمسائل ترکیب شده و راه‌حل نهایی مسئله اصلی بدست می‌آید. #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

✨🔍 تبدیل کانولوشن در بینایی کامپیوتری 🔍✨ 📸 کانولوشن با کرنل (یا فیلتر) نه تنها در شبکه‌های عصبی پیچشی (CNNs) استفاده می‌شود، بلکه یکی از عناصر کلیدی بسیاری از الگوریتم‌های بینایی کامپیوتری نیز می‌باشد. در این فرآیند، یک ماتریس کوچک از اعداد (کرنل یا فیلتر) را بر روی تصویر خود اعمال می‌کنیم و آن را بر اساس مقادیر فیلتر تغییر می‌دهیم. 📊 مقادیر نقشه ویژگی‌های خروجی بر اساس فرمول زیر محاسبه می‌شوند که در آن تصویر ورودی با ( f ) و کرنل با ( h )نمایش داده می‌شوند. شاخص‌های سطرها و ستون‌های ماتریس نتیجه به ترتیب با ( m ) و ( n ) نشان داده می‌شوند: G[m,n] = (f*h)[m,n] = ∑ j ∑ k h[j, k] f[m-j, n-k] 🖼 به زبان ساده، کانولوشن به ما کمک می‌کند تا ویژگی‌های مهم تصویر را استخراج کنیم و بینش بهتری از محتوای آن بدست آوریم. 📚 اگر به بینایی کامپیوتری و پردازش تصویر علاقه‌مندید، این مفهوم را از دست ندهید! #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

✨💡 پیچیدگی زمانی کد - رازهای بهینه‌سازی الگوریتم‌ها 💡✨ 📚 در دنیای برنامه‌نویسی، زمان همه‌چیز است. هر خط کد می‌تواند تفاوتی بزرگ ایجاد کند! وقتی صحبت از بهینه‌سازی کد می‌شود، پیچیدگی زمانی الگوریتم‌ها به میدان می‌آید. این مفهوم به ما کمک می‌کند تا بفهمیم که یک الگوریتم در مواجهه با داده‌های بزرگ، چگونه عمل می‌کند. 🌟 در جزوه پیچیدگی زمانی کد، یاد می‌گیریم که چگونه بهترین الگوریتم‌ها را انتخاب و بهینه‌سازی کنیم تا در کمترین زمان ممکن به بهترین نتایج دست یابیم. از O(1) تا O(n!)، هر کدام داستانی دارند که باید کشف کنیم. 📊 اگر می‌خواهید کد شما مانند یک نینجا سریع و کارآمد باشد، حتماً این جزوه را مطالعه کنید! 📝 #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

یادگیری با نظارت در هوش مصنوعی 🔍 یادگیری با نظارت، فرآیندی است که در آن الگوریتم‌های یادگیری ماشینی با استفاده از داده‌های ب
یادگیری با نظارت در هوش مصنوعی 🔍 یادگیری با نظارت، فرآیندی است که در آن الگوریتم‌های یادگیری ماشینی با استفاده از داده‌های برچسب‌گذاری شده آموزش داده می‌شوند تا بتوانند الگوهای موجود در داده‌ها را یاد بگیرند و برای پیش‌بینی یا دسته‌بندی داده‌های جدید از آن‌ها استفاده کنند. مراحل فرآیند یادگیری با نظارت: 1. داده‌های خام: جمع‌آوری داده‌های اولیه برای پردازش توسط الگوریتم. 2. نظارت: برچسب‌گذاری داده‌ها توسط انسان یا به صورت خودکار. 3. مجموعه داده آموزشی: تقسیم داده‌ها به مجموعه آموزشی و مجموعه تست. 4. الگوریتم: آموزش الگوریتم با استفاده از داده‌های آموزشی. 5. پردازش: استفاده از الگوریتم آموزش دیده برای پردازش داده‌های جدید. 6. خروجی: پیش‌بینی یا دسته‌بندی داده‌های جدید. نکات کلیدی: * نظارت نقش مهمی در یادگیری با نظارت دارد. * الگوریتم‌های مختلفی مانند رگرسیون خطی، درخت تصمیم و شبکه‌های عصبی مصنوعی وجود دارند. * کاربردها شامل تشخیص چهره، طبقه‌بندی متن و پیش‌بینی قیمت سهام. یادگیری با نظارت یک روش قدرتمند برای حل مسائل دنیای واقعی است. 📊📚🤖 #هوش_مصنوعی 📣👨‍💻 @AlgorithmDesign_DataStructuer

برج هانوی 🏗 این مساله شامل سه میله و تعدادی دیسک با اندازه‌های متفاوت است که می‌بایست از یکی از میله‌ها به میله‌ی دیگر منتقل شوند، با رعایت قوانین زیر: تنها یک دیسک در هر زمان می‌تواند جابجا شود. هر دیسک بزرگ‌تر نمی‌تواند روی دیسک کوچک‌تر قرار گیرد. تنها دیسک بالایی هر میله می‌تواند جابجا شود. توضیح مساله 🎯 هدف این است که همه دیسک‌ها را از میله‌ی اولیه (مثلاً A) به میله‌ی مقصد (مثلاً C) منتقل کنیم، با استفاده از میله‌ی واسطه (مثلاً B). فرض کنید n تعداد دیسک‌ها باشد. الگوریتم بازگشتی 🔄 برای حل این مساله از الگوریتم بازگشتی استفاده می‌شود. مراحل الگوریتم به صورت زیر است: انتقال n-1 دیسک از میله A به میله B با استفاده از میله C به عنوان میله کمکی. انتقال دیسک n-ام از میله A به میله C. انتقال n-1 دیسک از میله B به میله C با استفاده از میله A به عنوان میله کمکی. این روند تا زمانی که تنها یک دیسک باقی بماند ادامه می‌یابد، در این حالت، دیسک مستقیم از میله A به میله C منتقل می‌شود. #الگوریتم 📣👨‍💻 @AlgorithmDesign_DataStructuer

کد زیر یک مدل ساده k-NN برای طبقه‌بندی داده‌ها را ایجاد و ارزیابی می‌کند:
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# تولید داده‌های نمونه
data = {
    'feature1': [2, 4, 4, 4, 6, 6, 8, 8, 8, 8],
    'feature2': [4, 2, 4, 6, 4, 6, 2, 4, 6, 8],
    'label':    [0, 0, 0, 0, 1, 1, 1, 1, 1, 1]
}
df = pd.DataFrame(data)

# جداسازی ویژگی‌ها و برچسب‌ها
X = df[['feature1', 'feature2']]
y = df['label']

# تقسیم داده‌ها به مجموعه‌های آموزش و آزمون
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# ایجاد مدل k-Nearest Neighbors
model = KNeighborsClassifier(n_neighbors=3)

# آموزش مدل
model.fit(X_train, y_train)

# پیش‌بینی با استفاده از مدل آموزش دیده
y_pred = model.predict(X_test)

# ارزیابی مدل
accuracy = accuracy_score(y_test, y_pred)
print(f'Accuracy: {accuracy * 100:.2f}%')

# تست مدل با داده جدید
new_data = np.array([[2, 4]])
new_pred = model.predict(new_data)
print(f'Prediction for new data [feature1=5, feature2=5]: {new_pred[0]}')