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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
گراف(Graphs):

هر گراف شامل دو مجموعه V و E می باشد. Vمجموعه ای متناهی و غیر تهی از راس ها و E مجموعه ای است از زوج راس ها که یال نامیده می شود.

به ترتیب (G)V و (G)E مجموعه راس ها و مجموعه یال های گراف G را نمایش می دهند.
G=(V,E)
در گراف های بدون جهت زوج راس های که هر یال را نمایش می دهند مرتب نیستند:
(u,v) = (v.u)
محدویت هایی که برای گراف تعریف می کنیم:
1-یک گراف فاقد از یک یال راس مانند v به خودش است. چنین یال هایی را خود یالی(Self edge) یا خود حلقه ای (Self loop) نیز می گویند. اگر خود یالی در گراف مجاز باشد در آن صورت یم شی داده به نام گراف خود یالی حاصل می شود.

2-در یک گراف یک یال نباید چند بار ظاهر شود. اگر این محدودیت را در نظر بگیریم دارای شی داده ای به نام گراف چند گانه(MultiGraph)خواهیم بود.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👨‍💻2👍1
رشد کدام کدام یک از توابع زیر بیشتر می باشد؟
f(n)=3n
g(n)=20n
Anonymous Quiz
9%
f(n)
26%
g(n)
16%
بستگی به ورودی دارد
50%
هم رشداند
👨‍💻10👍4👎4
متد ()peekبرای نگاه کردن به شی در بالای این پشته بدون حذف آن از پشته استفاده می شود.
در زیر نحوه استفاده از آن را در برنامه میبینم:

int peek() {
return stack[top];
}

همان طور که میبیند از بالای پشته (اخرین شي که واردپشته شده است) را برمی گیرد و استفاده های زیادی می شود از این متد کرد برای اینکه می توانیم از شي درون پشته استفاده کنیم بدون اینکه آن را حذف کنیم.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4👨‍💻2👎1
یکی از مثال هایی که می توان برای روش تقسیم و غلبه زد دنباله فیبونانچی می باشد. این دنبال از جمع دو عدد قبلی خود به دست می آید که کابردی های زیادی در صنعت نیز دارد که می توان در رمز گذاری , هنر , علوم رایانه , و ... اشاره کرد.
البته این الگوریتم بازگشتی که در روش تقسیم و غلبه می باشد بهیه نمی باشد زیرا مجموعه هایی هستند که چندین بار تکرار می شود برای همین اگر از عدد های بالا بخواهیم از این دنباله استفاده کنیم باعث می شود اگر ما ران کنیم زمان زیادی طول بکشد که ران شود.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👌5👍2👨‍💻1
یکی از نکات مهمی که باید در مورد الگوریتم ها بدانیم این است این است که ما سوالاتی که حل میکنیم در بیشتر اوقات قابل حل می باشند ولی ممکن است در بعضی الگوریتم ها ما راه حلی هم هم بدست بیاوریم ولی به هزینه ایی که برای حل اون سوال کردیم نمی توان پایبند بود و به صرفه نمی باشد ولی الگوریتم هایی هم وجود دارند که نمی توان راه حلی برای حل آن ها به دست آورد به این الگوریتم ها سخت گفته می شود که ما زیاد با آن ها کار نداریم.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👨‍💻2
برای بدست آوردن سوالاتی که از تقسیم و غلبه به دست می آید باید عبارات زیر را به خاطر سپرده باشید.
1-Divide:
مشکل اصلی را به مجموعه ای از مسائل فرعی تبدیل می کند.
2-Conquer:
هر زیرمسئله را به صورت جداگانه و به صورت بازگشتی حل کنید.
3-Combine:
راه حل های زیرمسائل را کنار هم قرار دهید تا راه حل کل مسئله را به دست آورید.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍2🤩1
👨‍💻1
کدام گزینه می باشد؟
Anonymous Quiz
39%
1
22%
2
32%
3
8%
4
👍6👨‍💻3
مثال در مورد پیچیدگی یک قطعه کد

📣👨‍💻 @AlgorithmDesign_DataStructuer
👏5👍1👨‍💻1
Introduction_to_Algorithms_4th_Leiserson_Stein_Rivest_Cormen_MIT.pdf
11.7 MB
یکی از بهترین کتاب هایی که در زمینه طراحی الگوریتم وجود دارد کتاب CLRSمی باشد که شما میتوانید با خواندن این کتاب خیلی از الگوریتم هایی که قبلا حال کردید با هزینه ی کمتر در این کتاب یاد بگیرید.

#طراحی_الگوریتم

📣👨‍💻 @AlgorithmDesign_DataStructuer
🙏4👌3👨‍💻1
مرتبه اجرای بهترین الگوریتم تولید nامین جمله دنباله فیبونانچی چیست؟
Anonymous Quiz
25%
O(n)
37%
O(nlogn)
23%
O(2^n)
15%
O(logn)
👨‍💻4👍3
نماد Ω یک کران پایین حدی برای تابع مشخص میکند:

تعریف فارسی Ω :

Ω(g(n)) ={ f(n) : وجود دارد C , n₀ >0 , به ازای n >= n₀ : 0 <= Cg(n) <= f(n) }

نکته قابل توجه اینجا می باشد زمانی که می گوییم پیچیدگی این کد از Ω n^2 می باشد یعنی مرتبه اجرای آن n^2یا بیشتر ازn^2 می باشد.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👏8👨‍💻3
👨‍💻5
گزینه صحیح را انتخاب کنید.
Anonymous Quiz
25%
1
27%
2
26%
3
22%
4
👍5👨‍💻3🔥1
سلام دوستان
ببخشید توی این مدت نتونستم فعالیتی داشته باشم انشالله از امشب فعال خواهم بود شاید تونسته باشم کمکی به شما کرده باشم ممنون از صبر و بردباری شما عزیزان😁


ممنون میشم کانال ما رو به دوستانتون معرفی کنید.

لینک کانال 👇👇


📣👨‍💻 @AlgorithmDesign_DataStructuer
🤩6🙏3👌3👍1🎉1
تعریف سیگما.pdf
256.7 KB
تعریف سیگما و کاربرد آن در پیچیدگی کد



📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5👨‍💻2👎1💯1
مرتبه اجرای x=x+1 را در این قطعه کد مشخص کنید.
👨‍💻2
کدام گزینه می باشد؟
Anonymous Quiz
19%
O(n/2)
20%
O(n^2logn)
53%
O(nlogn)
8%
O(logn)
👍9👨‍💻1
زمان اجرای برخی توابع به ازای ورودی های مختلف که همان طوری که می بینید پیچیدگی میتواند چه قدر اهمیت در اجرای برنامه داشته باشد.

📣👨‍💻 @AlgorithmDesign_DataStructuer
🤔5👍4🔥1👨‍💻1
مرتبه اجرایی

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6🎉2👨‍💻2🙏1