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

👨‍💻Admin👉 @Se_mohamad
Download Telegram
👨‍💻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
BubbleSort:
یک الگوریتیم برای مرتب سازی ارایه ها وجود دارد که در بالا ان را مشاهده می کنید این الگوریتم به این صورت عمل می کند که دو حلقه for وجورد دارید حلقه اول عدد در اندیس i را میگیرد و در حلقه دوم با تمام اعداد در کل ارایه مقایسه می کند اگر لازم باشد جا به جایی صورت میگیرد و در غیر این صورت به مقایسه ادامه می دهد تا به آخر ارایه برسد.

پیچیدگی زمانی این الگوریتم در بدترین و میانگین حالت n^2 می باشد و در بهترین حالت نیز میتواند پیچدگی nرا نیز داشته باشد. این الگوریتم مناسبی برای مرتب سازی نمی باشد زیرا ما دنبال الگوریتم هایی هستیم که با پیچیدگی زمانی کمتری نیز داشته باشد.

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍6👨‍💻2
👨‍💻4🤔2🙏1
گزینه صحیح را انتخاب کنید
Anonymous Quiz
13%
1
34%
2
35%
3
17%
4
👨‍💻5👍3🤔3
توضیحی کوتاه درباره برخی از توابع موجود در پشته


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍5👨‍💻2👏1
Algorithm design & data structure
Photo
پاسخ تشریحی
👏5👍3👎1👌1👨‍💻1
👨‍💻2👎1
گزینه صحیح را انتخاب کنید.
Anonymous Quiz
24%
1
42%
2
21%
3
13%
4
👍4👨‍💻2👎1
Binary Search:

یکی از الگوریتم های برای پیدا کردن عدد درون آرایه می باشد که حتما باید آرایه از پیش مرتب شده باشد که در بالا می توانید این الگوریتم به روش بازگشتی مشاهده کنید که می توان این الگوریتم را بدون استفاده از روش بازگشتی پیاده سازی کرد. که در زیر پیچیدگی زمانی این الگوریتم رو در انواع مختلف ورودی میتوانید مشاهده کنید:

Best case complexity: O(1)
Average case complexity: O(log n)
Worst case complexity: O(log n)

📣👨‍💻 @AlgorithmDesign_DataStructuer
👍9👎1👨‍💻1
MasterTheorem@AlgorithmDesign_DataStructuer.pdf
716.8 KB
قضیه مستر و برخی از توابع بازگشتی که باید با استفاده از درخت حل شوند.

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

📣👨‍💻 @AlgorithmDesign_DataStructuer
👏2🙏2👎1🔥1👨‍💻1
برنامه‌نویسی پویا چه ویژگی‌های شاخصی دارد؟


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

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


📣👨‍💻 @AlgorithmDesign_DataStructuer
👍4👎1🔥1👨‍💻1