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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
plt.ylabel('some numbers')
plt.show()

این کد یک نمودار ساده از یک لیست اعداد را ایجاد می کند. در اینجا، مقادیر [1، 2، 3، 4] به عنوان محور x و شماره های متناظر با آن به عنوان محور y استفاده شده است. سپس با فراخوانی تابع plt.ylabel('some numbers') برای تعیین برچسب محور y و plt.show() برای نمایش نمودار، نمودار نهایی رسم می شود.

📣👨‍💻 @AlgorithmDesign_DataStructuer
برخی از ویژگی های پیچیدگی زمانی

📣👨‍💻 @AlgorithmDesign_DataStructuer
معرفی کانال های یوتیوب برای یادگیری ریاضی📝

اگر میخواهید در زمینه هوش مصنوعی کار کنید , باید پایه ریاضی خوبی داشته باشید زیرا بیشتر چیز هایی که در هوش وجود دارد همگی از ریاضی سر رشته گرفته اند برای همین باید ریاضی رو به حدی برسانید که بتوانید ریاضی به کار رفته در هوش مصنوعی را درک کنید.

🌐 ProfRobBob
🌐
3Blue1Brown
🌐
Ghrist Mat
🌐
DataHub

📣👨‍💻 @AlgorithmDesign_DataStructuer
👌2💯1
براي ادغام لیست هاي مرتب شده...وL1,L2,L3 کدام یک از ساختار داده های زیر(علاوه بر لیست های ورودی) بهترین است؟
Anonymous Quiz
30%
درخت Min-Heap
17%
آرایه خطی
27%
لیست دو طرفه خطی
25%
درخت دودیی جستجو
با احترام و خوش‌آمدگویی به شما عزیزان 👋🏻😃

از دوستان گرامی که اشتراک Premium در تلگرام دارند، دعوت می‌شود که از حمایت خود از کانال ما استفاده کنند و با Boost کردن کانال، از امکانات ویژه‌ای که برای شما عزیزان در اختیار کانال قرار می‌گیرد، بهره‌مند شویم. با این اقدام، بهترین تجربه را برای شما فراهم می‌کنیم و از حضور گرمتان سپاس‌گزاریم. با تشکر از حمایت و همراهی شما 🙏
https://t.me/boost/AlgorithmDesign_DataStructuer
🤔2💯2👍1
def is_balanced(expression):
stack = []
opening_brackets = {'(', '[', '{'}
closing_brackets = {')', ']', '}'}
bracket_pairs = {'(': ')', '[': ']', '{': '}'}

for char in expression:
if char in opening_brackets:
stack.append(char)
elif char in closing_brackets:
if not stack:
return False # Unmatched closing bracket
top = stack.pop()
if bracket_pairs[top] != char:
return False # Mismatched opening and closing brackets

return not stack # Expression is balanced if stack is empty

# Example usage:
expression1 = "((2 + 3) * [4 - 1])" # Balanced expression
expression2 = "{[2 * (3 + 4)] / (5 - 1)}" # Balanced expression
expression3 = "({[2 + 3] * 4}" # Unbalanced expression

print(is_balanced(expression1)) # Output: True
print(is_balanced(expression2)) # Output: True
print(is_balanced(expression3)) # Output: False


بررسی براکت های متوازن در یک عبارت یک مشکل رایج در علوم کامپیوتر و برنامه نویسی است، به ویژه در زمینه تجزیه و تفسیر زبان ها. هدف این است که تعیین کنیم آیا یک عبارت داده شده دارای جفت پرانتز تو در تو است (مانند پرانتز ()، پرانتز []، یا پرانتز مجعد {}). اگر براکت ها متعادل باشند، به این معنی است که هر براکت بازکننده دارای یک براکت بسته کننده مربوطه است و به درستی و بدون هیچ گونه همپوشانی تودرتو شده اند.

در اینجا یک توضیح اساسی در مورد نحوه برخورد با این مشکل آورده شده است:

1️⃣-تکرار از طریق عبارت: با تکرار از طریق هر یک از کاراکترهای عبارت، از چپ به راست شروع کنید.

2️⃣-از یک ساختار داده پشته استفاده کنید: همانطور که عبارت را تکرار می کنید، از یک پشته برای پیگیری براکت های باز که با آنها روبرو می شوید استفاده کنید. هر زمان که با یک براکت باز (مانند '('، '['، یا '{') مواجه شدید، آن را روی پشته فشار دهید.

3️⃣-بررسی بسته شدن براکت: وقتی با یک براکت بسته (')'، ']'، یا '}' مواجه شدید، بررسی کنید که آیا پشته خالی است. اگر اینطور باشد، هیچ براکت باز منطبقی برای براکت بسته شدن فعلی وجود ندارد، که نشان می‌دهد عبارت نامتعادل است. در غیر این صورت، عنصر بالایی را از پشته بیرون بیاورید و آن را با براکت بسته فعلی مقایسه کنید. اگر مطابقت نداشته باشند (به عنوان مثال، '(' با ']' مطابقت ندارد)، در این صورت عبارت نامتعادل است.

4️⃣-تا پایان عبارت ادامه دهید: مراحل 2 و 3 را تکرار کنید تا زمانی که تمام کاراکترهای عبارت را پردازش کنید.

5️⃣-بررسی پشته: پس از پردازش همه کاراکترها، بررسی کنید که آیا پشته خالی است. اگر خالی باشد، تمام براکت های باز با براکت های بسته مطابقت داده شده اند و عبارت متعادل است. در غیر این صورت، پرانتزهای باز بی‌همتا باقی مانده است که بیانگر یک عبارت نامتعادل است.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍7
def quotient( n , d ):
if n <= d:
return 0
return 1 + quotient(n-d, d)

print(quotient( 10 , 3))


کد بازگشتی تقسیم صحیح دو عدد n و d

📣👨‍💻 @AlgorithmDesign_DataStructuer
⬅️واریانس(Variance):

واریانس یک مجموعه داده اندازه گیری می کند که نقاط داده چقدر با میانگین تفاوت دارند.
با گرفتن میانگین مجذور اختلاف بین هر نقطه داده و میانگین محاسبه می شود.
از نظر ریاضی، واریانس به صورت (σ²) نمایش داده می شود.


◀️انحراف معیار(Standard Deviation):
انحراف معیار جذر واریانس است.
میانگین انحراف نقاط داده را از میانگین اندازه گیری می کند.
انحراف استاندارد مفید است زیرا معیاری از پراکندگی داده ها را در واحدهای خود داده ارائه می دهد و تفسیر آن را آسان تر می کند.
از نظر ریاضی، انحراف معیار به صورت (σ) نمایش داده می شود.

📣👨‍💻 @AlgorithmDesign_DataStructuer
ماکسیمم تعداد مقایسه براي min-heap کردن یک max-heap با n گره برابر است با:
Anonymous Quiz
19%
n+log n
36%
log n
36%
nlog n
9%
2n
معرفی آموزش یادگیری ماشین (Machine Learning) :

آیا تا به حال می‌خواسته‌اید به عمق دانش خود در زمینه یادگیری ماشین بپردازید؟ آیا به دنبال منبعی هستید که به شما اصول و مفاهیم اصلی این حوزه پرکاربرد را به شیوه‌ای ساده و جذاب آموزش دهد؟ پس ویدیوهای آموزشی در یوتیوب بهترین گزینه برای شماست!

در یوتیوب، میلیون‌ها ویدیو و منبع آموزشی موجود است که به شما کمک می‌کنند تا مفاهیم یادگیری ماشین را درک کنید و از این تکنولوژی پرقدرت بهره ببرید. از مبتدی تا پیشرفته، ویدیوهای مختلفی برای تمام سطوح دانشی در دسترس هستند.

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

لینک فیلم آموزشی یوتیوب:
🌐 Machine Learning
دانلود اسلاید:
📎 Slides

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6
الگوریتم به دست آوردن ضرب دو عدد صحیح بزرگ

📣👨‍💻 @AlgorithmDesign_DataStructuer
def f(n):
if n == 0:
return 0
return n % 2 + f(n//2) * 10

print(f(5))

کد بازگشتی به دست آوردن تبدیل مبانی 10 به مبنای 2

📣👨‍💻 @AlgorithmDesign_DataStructuer
محاسبه پیچیدگی رابطه بازگشتی از روش باز کردن رابطه :

T(n)=2T(n^1/2)+log(n)

📣👨‍💻 @AlgorithmDesign_DataStructuer
⚫️شبکه عصبی ساده یک مدل محاسباتی است که الهام گرفته از ساختار سیستم عصبی انسان است. این شبکه‌ها از الگوهای تصویری مغز برای حل مسائلی که به دقت، الگویی یا پترنی مرتبط می‌شوند، الهام گرفته‌اند. هر شبکه عصبی ساده شامل واحدهای پردازشی کوچکی به نام نورون‌ها است که به صورت مترتب در لایه‌های مختلف قرار دارند. هر نورون با ورودی‌هایش تعامل می‌کند، آن‌ها را پردازش می‌کند و یک خروجی تولید می‌کند.

🔵شبکه عصبی ساده معمولاً دارای سه لایه اصلی است: لایه ورودی، لایه مخفی (یا چند لایه مخفی) و لایه خروجی. لایه ورودی وظیفه دریافت داده‌های ورودی را دارد، لایه‌های مخفی به عنوان لایه‌های پردازشی عمل می‌کنند که ویژگی‌های مخفی داده‌ها را استخراج می‌کنند، و لایه خروجی خروجی مدل را تولید می‌کند.

🔴آموزش یک شبکه عصبی ساده عموماً شامل دو مرحله است: فاز فیدباک و فاز پسخورد. در فاز فیدباک، شبکه به تجربه و داده‌های ورودی آموزش داده شده است و وزن‌های بین نورون‌ها به‌روزرسانی می‌شوند تا خروجی شبکه به خروجی مورد نظر نزدیک شود. در فاز پسخورد، عملکرد شبکه با استفاده از داده‌های آزمایشی ارزیابی می‌شود و وزن‌ها بر اساس نتایج ارزیابی به‌روزرسانی می‌شوند تا دقت شبکه افزایش یابد.

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

برای مطالعه بیشتر:

🌐Introduction to Neural Networks

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
@AlgorithmDesign_DataStructuer.pdf
34.3 MB
📖جزوه "هوش مصنوعی" دانشگاه تهران


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
فرض کنید A یک ماتریس به اندازه n* n و K یک k * k هسته باشد. برای راحتی، اجازه دهید t = n - k + 1.

برای محاسبه کانولوشن A * K، باید ضرب ماتریس-بردار Mv^T = v'^T را محاسبه کنیم که بعد از محاسبه آن به یک ویژگی جدید خواهیم رسید.

📎برای اطلاعات بیشتر:
🌐 Convolutions and Kernels

📣👨‍💻 @AlgorithmDesign_DataStructuer